전체 글30 방 속의 거울 (mirror in the room) > 문제 출처 https://www.codeground.org/practice/ 12 SCP_2015_Online Mirror in the Room > 문제 설명 정사각형 크기(N 접근 방법 구조체로 거울 하나에 대한 정보(거울의 모양-mode, 방문여부-isVisited)를 정하였고, 클래스 선언으로 방에 대한 정보(크기, 위치별 거울의 모양)을 확인할 수 있게 만들었다. 이제 0,0부터 지나친 거울을 컨트롤 하면 되는데, 거울의 모양만으로는 다음 좌표를 알 수가 없다. 그래서 빛의 방향을 이용하여 함께 계산을 해줘야하는데 4방향을 고려하여 if문을 넣기에는 런타임, 코드 가독성의 문제가 생긴다고 생각했다. 빛의 진행 방향을 x,y방향으로 나눈 뒤 직접 그려보며 패턴을 찾아보니 다음과 같았다. 거울이 .. 2020. 8. 12. 시험 공부 (Studying for Exams) > 문제 출처 https://www.codeground.org/practice/ 3 Practice Studying for Exams > 문제 설명 초등학생인 정우는 시험 기간을 맞아 공부를 시작해야 한다. 정우가 다니는 학교에선 총 N개의 과목에 대해 시험을 보는데, 시간이 부족한 정우는 그 중 K개의 과목만을 골라서 공부할 수 있다. 정우는 매우 특이한 학생이라서 어떤 과목을 공부한다면 그 과목에 대해선 무조건 같은 점수를 받게 된다고 한다. 정우는 시험 점수 총합을 최대화하기 위해 K개의 과목을 골라야 한다. 하지만, 모든 과목을 공부할 시간이 없는 정우는, 당신에게 "최대 합계 점수"를 받을 수 있는 K개의 과목을 골라달라고 한다. K개 과목을 골랐을 때 정우가 받을 수 있는 "최대 합계 점수"를.. 2020. 8. 11. 프로그래밍 경진대회 (Programming Contest) > 문제 출처 https://www.codeground.org/practice/ 2 Practice Programming Contest > 문제 설명 삼성 프로그래밍 경진대회는 권위 있는 대회이다. 대회는 여러 라운드를 통해서 진행되며, 모든 라운드에 총 N명의 응시자가 있다. 각 라운드 별로 1등은 N점, 2등은 N−1점 순으로 순차적으로 점수를 얻게 되고 뒤에서 2등은 2점, 뒤에서 1등은 1점을 얻게 된다. 그리고 각 라운드 별로 동점자는 없으며, 각 라운드 마다 받은 점수의 합이 제일 높은 사람이 우승하게 된다. 마지막 라운드 직전까지의 점수 합이 주어졌을 때, 우승할 가능성이 있는 응시자의 수를 구하는 프로그램을 작성하시오. > 접근 방법 마지막라운드에서 점수차가 가장 많이 줄어드는 경우는 현재.. 2020. 8. 10. 숫자 골라내기 (Picking Out Numbers) > 문제 출처 https://www.codeground.org/practice/ 1 Practice Picking Out Numbers > 문제 설명 N개의 10진수를 입력받아 홀수번 나온 숫자들을 모두 XOR연산하여 결과를 리턴하는 문제. 초등학교교 학생인 정우와 석환이는 최근 학교에서 두 이진수의 XOR 연산에 대해 배웠다. 둘은 매우 영특한 학생이라 새로 배운 연산을 갖고 이리저리 장난치기 시작했다. 다만 석환이는 정우에게 일을 시키는 것을 좋아하는지라 다음과 같은 제안을 했다. “내가 N개의 10진수를 주면, 등장하는 숫자들 중 홀수번만 나타나는 숫자들을 모두 XOR한 결과를 구해줘.” 나는 XOR을 정보처리산업기사 공부하면서 처음 접했는데 이놈들은 초딩때 이런 뻘짓을 하는걸 보니 대단하다. > .. 2020. 8. 10. 조이스틱 (Joystick) > 문제 출처 https://programmers.co.kr/learn/courses/30/lessons/42860 > 문제 설명 오락실 게임을 클리어하면 마지막에 이름을 새기는 영광이 주어진다. 이름을 새기는데 필요한 최소의 방향키 이동 수를 리턴하는 함수를 완성하며 되는 문제. 최대 20글자이며, 모든 문자는 A부터 입력한다. > 접근 방법 각 자리간 이동(x방향) 과 문자 변경(y방향)은 독립적으로 계산이 가능하다는 점을 이용하여 x방향과 y방향의 최소값을 구하는 함수를 각각 만들어 더하면 될 것 같다는 생각을 했다. - y방향 : A (ASCII-65) -> N (ASCII-78)이 정방향/역방향 모두 13회로 같다. 따라서 N보다 크면 역방향, 그 반대는 정방향으로 조작 횟수를 계산한다. - x.. 2020. 8. 9. [R #6] 데이터 조작 이번 단원에서는 수집한 데이터를 분석 목적에 맞게 가공/처리하는 변환과 조작 관련 패키지를 중심으로 구성되어있다. 배워볼 패키지 명은 plyr / dplyr / reshape / reshape2이다. 1. plyr 패키지 : 두 개 이상의 data frame을 대상으로 Key값을 이용하여 하나로 병합하거나 집단 변수를 기준으로 함수를 적용하여 요약 집계 결과를 제공하는 패키지. > join 함수 : 데이터를 병합(join 연산)하는 함수 - 형식 : join( df_x, df_y, by=, type=, match=) - df_x / df_y : join 할 데이터 프레임 - by= : 기준 열 - type : 조인 타입을 설정 (default = 'left') left - 왼쪽(x) 데이터의 기준 변수(.. 2020. 6. 11. 이전 1 2 3 4 5 다음