본문 바로가기

Level 213

[Python] 프로그래머스 n진수 게임 코딩테스트 연습 - [3차] n진수 게임 N진수 게임 튜브가 활동하는 코딩 동아리에서는 전통적으로 해오는 게임이 있다. 이 게임은 여러 사람이 둥글게 앉아서 숫자를 하나씩 차례대로 말하는 게임인데, 규칙은 다음과 같다. 숫자를 0 programmers.co.kr 풀이 숫자를 n진수로 바꾸어주는 convert 함수를 만들어 10진수로 0부터 N진수로 바꾸면서 num 리스트에 한 글자씩 추가했습니다. 이때, num 리스트의 길이가 t * m 즉, 참가하는 인원인 m명의 사람들이 t개씩 말하는 모든 경우를 저장하게 했습니다. 이를 활용하여 시작 순서인 p번째부터 m칸씩 건너뛰게 하여 정답을 구해 해결했습니다. 코드 def solution(n, t, m, p): answer = '' num = list() i .. 2021. 5. 1.
[Python] 프로그래머스 파일명 정렬 코딩테스트 연습 - [3차] 파일명 정렬 파일명 정렬 세 차례의 코딩 테스트와 두 차례의 면접이라는 기나긴 블라인드 공채를 무사히 통과해 카카오에 입사한 무지는 파일 저장소 서버 관리를 맡게 되었다. 저장소 서버에는 프로그램 programmers.co.kr 풀이 cmp_to_key를 사용해 정렬 조건을 만들어 해결했습니다. 코드 from functools import cmp_to_key def solution(files): answer = [] files_list = list() for file in files: temp = "" flag = False file_info = list() for idx in range(len(file)): temp += file[idx] if file[idx].isdigi.. 2021. 4. 25.
[Python] 프로그래머스 압축 코딩테스트 연습 - [3차] 압축 TOBEORNOTTOBEORTOBEORNOT [20, 15, 2, 5, 15, 18, 14, 15, 20, 27, 29, 31, 36, 30, 32, 34] programmers.co.kr 풀이 우선 문제의 조건대로 길이가 1인 즉, 'A' ~ 'Z'까지 색인을 만들고 msg를 한 글자씩 temp에 추가하면서 만약 temp의 색인이 안 만들었다면 temp - 1까지는 색인이 있는 것이므로 정답에 temp - 1의 색인을 추가하고 temp의 색인을 추가하게 하여 해결했습니다. 이때, flag를 통해 마지막문자의 색인이 안 만들어져 있다면 temp - 1의 색인을 정답에 추가하고 색인이 만들어져 있다면 temp를 정답에 추가하게 했습니다. 코드 def solution(msg.. 2021. 4. 25.
[Python] 프로그래머스 방금그곡 코딩테스트 연습 - [3차] 방금그곡 방금그곡 라디오를 자주 듣는 네오는 라디오에서 방금 나왔던 음악이 무슨 음악인지 궁금해질 때가 많다. 그럴 때 네오는 다음 포털의 '방금그곡' 서비스를 이용하곤 한다. 방금그곡에서는 TV, programmers.co.kr 풀이 우선, musicinfos를 보면서 시작시간, 끝 시간, 음악 정보를 split(", ")을 통해서 나누고 미리 만든 change_rhythm을 사용해서 #이 붙은 코드들을 전부 한 글자의 코드로 바꾸어 주었습니다. 그다음, 음악 정보에서 한 코드는 1분이므로 만약, 라디오에서의 재생시간보다 음악 정보의 재생시간이 길다면 라디오의 재생시간에 맞게 음악 정보를 줄여주었습니다. 반대로 음악정보의 재생시간보다 라디오의 재생시간이 길다면 음악 정보의 .. 2021. 4. 18.
[Python] 프로그래머스 후보키 코딩테스트 연습 - 후보키 [["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 풀이 우선, 만약 relation이 학번, 이름, 전공, 학년으로 이루어져 있을 경우 각각에 인덱스를 주어 [0, 1, 2, 3]인 리스트를 생성하고 이를 사용해서 조합을 만들었습니다. 그다음 만든 조합을 문자열로 만들고 문자열로 바꾼 조합을 하나씩 가져와 키를 만들고 그 키가 후보키가 될 수 있는지 여부를 조사하게 했습니다. 그 후, 후보.. 2021. 4. 17.
[Python] 프로그래머스 오픈채팅방 코딩테스트 연습 - 오픈채팅방 오픈채팅방 카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있는데, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있다. 신입사원인 김크루는 카카오톡 오 programmers.co.kr 풀이 딕셔너리를 사용해서 사용자들의 최종 닉네임을 기록하고 그 다음으로 명령어를 처리하면서 uid를 사용하여 최종닉네임을 출력하여 해결했습니다. 코드 def solution(record): answer = [] uid_logs = dict() # 아이디의 닉네임과 명령어를 기록 # 이때, change는 출력할 필요 X for info in record: log = info.split(" ") command = log[0] uid = log[1] if comman.. 2021. 4. 11.