문제 링크 코딩테스트 연습 - [3차] n진수 게임 N진수 게임 튜브가 활동하는 코딩 동아리에서는 전통적으로 해오는 게임이 있다. 이 게임은 여러 사람이 둥글게 앉아서 숫자를 하나씩 차례대로 말하는 게임인데, 규칙은 다음과 같다. 숫자를 0� programmers.co.kr 풀이 // 요약 반복문(answer의 length()가 t가 되면 break;){ num을 n진법으로 변환(do-while문 이용) --- 거꾸로 들어가므로 reverse해준다.( 헤더 포함) 내 차례일 때만 answer에 기록 --- % 연산자를 사용하여 내 순서를 계속 체크한다. } while문에서 순서 생각하는 것이 번거로워 true문으로 돌리고 if문으로 break 했다. 더보기 #include #include #include..
문제 링크 코딩테스트 연습 - [3차] 파일명 정렬 파일명 정렬 세 차례의 코딩 테스트와 두 차례의 면접이라는 기나긴 블라인드 공채를 무사히 통과해 카카오에 입사한 무지는 파일 저장소 서버 관리를 맡게 되었다. 저장소 서버에는 프로그램�� programmers.co.kr 풀이 조건이 많은 것은 주석을 다는 습관을 다지고 있다. 주석에 대해서 요약해보자면 * 요약 // 선행 처리 1) answer에 복사생성자를 통해 files를 미리 복사 2) files를 모두 대문자로 변환(cctype과 algorithm 헤더가 필요) // 처리 1) 파일명 분할(vector을 선언하여 first는 본래의 string, second는 part별로 나눈 string을 저장하였다. (answer가 first에 들어간다, 이..
문제 링크 코딩테스트 연습 - [3차] 압축 TOBEORNOTTOBEORTOBEORNOT [20, 15, 2, 5, 15, 18, 14, 15, 20, 27, 29, 31, 36, 30, 32, 34] programmers.co.kr 풀이 첫 번째로 사전 초기화를 하였고, 이는 map으로 하였다. 중복이 없어야된다고 생각했다? 그리고 // TODO 부분에서부터는 map.find() 함수를 이용하여 못찾았을 때는 map.end()와 같을 점을 이용했다. 그리고, 찾았던 곳까지 index를 출력하고 못찾은 것은 사전에 등록하였다. [요약] 사전 초기화; 반복문(){ 반복문(){ 출력용 변수 대입; 다음 문자랑 합침 비교; --- 못찾으면 탈출 } 출력용 사전 등록 } 더보기 #include #include ..
문제 링크 코딩테스트 연습 - [3차] 방금그곡 방금그곡 라디오를 자주 듣는 네오는 라디오에서 방금 나왔던 음악이 무슨 음악인지 궁금해질 때가 많다. 그럴 때 네오는 다음 포털의 '방금그곡' 서비스를 이용하곤 한다. 방금그곡에서는 TV, �� programmers.co.kr 풀이 문제를 보고 이건 그냥 열심히 비교해서 풀어야겠다. 라는 생각이 들고 나서 열심히 for문 돌렸다. [요약] 0) 선행처리 m 변수를 선행으로 미리 '#'은 대문자가 아닌 소문자로 치환했다.(*중요*) ex) C# -> c, D# -> d - 예전에 치환문제로 간단하게 풀리는거를 조건 따지면서 머리 굴린 적이 있었는데 이번에는 바로 생각났다. 참고로) 여기서는 string의 back() 참조자를 이용하여 아스키 코드 값을 연산했..
문제 링크 코딩테스트 연습 - 후보키 [["100","ryan","music","2"],["200","apeach","math","2"],["300","tube","computer","3"],["400","con","computer","4"],["500","muzi","music","3"],["600","apeach","music","2"]] 2 programmers.co.kr 풀이 주석으로 표시는 해놓았지만, 간단히 요약하자면 풀이는 다음과 같다. next_permutation함수를 써서 처음에 column 개수로 '1'을 초기화한 후, 앞에서부터 '0'으로 바꾸어서 조합 조건을 만들어냈다. 즉, next_permutation을 do-while로 돌리면 첫 번째로 0111로 되면 0111, 1011, ..
문제 링크 코딩테스트 연습 - 오픈채팅방 오픈채팅방 카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있는데, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있다. 신입사원인 김크루는 카카오톡 오 programmers.co.kr 풀이 풀이는 간단하다. map을 이용하였고 map의 "[ ]" operator 연산자로 insert와 update를 동시에 해주는 이점을 이용하였다. (= key값이 중복이 안되는 점을 이용) 1) 선 처리 과정에서는 첫 글자만 보고 'C', 'E', 'L'로만으로 switch-case로 나눠서 진행 1.1)Change는 닉네임을 갱신 1.2)Enter는 answer 컨테이너에 id + "님이 들어왔습니다."를 넣어주는 동시에, 닉네임을 갱신 1.3)..
문제 링크 코딩테스트 연습 - [1차] 캐시 3 [Jeju, Pangyo, Seoul, NewYork, LA, Jeju, Pangyo, Seoul, NewYork, LA] 50 3 [Jeju, Pangyo, Seoul, Jeju, Pangyo, Seoul, Jeju, Pangyo, Seoul] 21 2 [Jeju, Pangyo, Seoul, NewYork, LA, SanFrancisco, Seoul, Rome, Paris, Jeju, NewYork, Rome] 60 5 [Jeju, Pangyo, S programmers.co.kr 풀이 뭔가 큐를 쓸까하다가도 우선순위가 LRU가 있으니 vector 컨테이너 한 개로 erase하며 쓸까하다가 또, vector 컨테이너 두 개 쓸까하다가 예전에 공부했던 de..