본문 바로가기

Programmers28

[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] 수식 최대화 코딩테스트 연습 - 수식 최대화 IT 벤처 회사를 운영하고 있는 라이언은 매년 사내 해커톤 대회를 개최하여 우승자에게 상금을 지급하고 있습니다. 이번 대회에서는 우승자에게 지급되는 상금을 이전 대회와는 다르게 다음과 programmers.co.kr 풀이 우선 정규표현식을 사용하여 숫자와 연산자를 분리하고 사용된 연산자를 구하였습니다. 다음으로 사용된 연산자에 대해 만들 수 있는 모든 우선순위의 경우들을 순열을 사용하여 만들었습니다. 그다음 만들어둔 숫자와 연산자가 담긴 리스트를 복사해서 우선순위대로 계산을 하여 절댓값을 했을 때 최대인 값을 선택하게 하여 해결했습니다. 코드 import re from itertools import permutations def solution(expression): an.. 2021. 3. 28.
[Python] 튜플 코딩테스트 연습 - 튜플 "{{2},{2,1},{2,1,3},{2,1,3,4}}" [2, 1, 3, 4] "{{1,2,3},{2,1},{1,2,4,3},{2}}" [2, 1, 3, 4] "{{4,2,3},{3},{2,3,4,1},{2,3}}" [3, 2, 4, 1] programmers.co.kr 풀이 문제를 잘 보면 모든 집합에서 각 숫자를 카운트해보면 가장 많이 나온 숫자가 튜플에서 맨 첫 번째의 원소가 되고 두 번째로 많이 나온 숫자가 튜플에서 두 번째 원소가 됩니다 이를 이용해서 문자열을 처리하고 딕셔너리를 사용하여 해결했습니다. 이때, 문자로만 처리했기때문에 마지막에 map함수를 사용해서 정수형으로 바꾸어주어야 하고 카운트한 숫자가 높은 순 이므로 내림차순 정렬을 해야 합니다. 코드 def so.. 2021. 3. 27.