본문 바로가기

파이썬37

[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.
[Python] 프로그래머스 캐시 코딩테스트 연습 - [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", "Roprogrammers.co.kr풀이collections의 deque를 사용하여 해결했습니다.코드from collections import dequedef solution(cacheSize, cities): answer.. 2021. 4. 10.
[Python] 리스트 복사 # 1 list = [1, 2, 3, 4] copy_list = list[:] copy_list[0] = 5 print(list) print(copy_list) # 출력결과 # [1, 2, 3, 4] # [5, 2, 3, 4] # 2 copy_list = list copy_list[0] = 5 print(list) print(copy_list) # 출력결과 # [5, 2, 3, 4] # [5, 2, 3, 4] 2021. 3. 28.
[Python] eval() eval()을 통해 문자열로 이루어진 표현식의 결과를 반환받을 수 있다 print(eval("1+2+3")) # 출력결과 # 6 a = "2" b = "3" op1 = "+" op2 = "-" print(eval(a + op1 + b)) # 출력결과 # 5 print(eval(a + op2 + b)) # 출력결과 # -1 2021. 3. 28.