코딩테스트(89)
-
프로그래머스 JadenCase 문자열 만들기 코드 및 해설 (파이썬)
https://programmers.co.kr/learn/courses/30/lessons/12951 코딩테스트 연습 - JadenCase 문자열 만들기 JadenCase란 모든 단어의 첫 문자가 대문자이고, 그 외의 알파벳은 소문자인 문자열입니다. 문자열 s가 주어졌을 때, s를 JadenCase로 바꾼 문자열을 리턴하는 함수, solution을 완성해주세요. 제한 조건 programmers.co.kr 공백이 항상 스페이스 하나인게 아닐 수도 있는 걸 뒤늦게 깨달은 문제였습니다.. 우선 정규표현식을 이용해 단어를 구분하는 공백들을 seps에 저장합니다. 이후 공백으로 split한 단어 하나당 첫 문자만 대문자로 변환한 후, 아까 구한 seps에서 해당되는 공백을 뒤에 더해줍니다. import re de..
2021.06.01 -
프로그래머스 오픈채팅방 코드 및 해설 (파이썬)
https://programmers.co.kr/learn/courses/30/lessons/42888 코딩테스트 연습 - 오픈채팅방 오픈채팅방 카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있는데, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있다. 신입사원인 김크루는 카카오톡 오 programmers.co.kr id2nickname이라는 딕셔너리를 만들어 key에는 user id가, value에는 가장 최신의 닉네임이 저장되도록 했습니다. 이후 eng2ko 함수를 통해 영어를 한국어로 바꾸고, id와 당시의 닉네임 대신 최신 닉네임이 나타나도록 했습니다. def eng2ko(one_record, id2nickname): user_id = one_record.split(..
2021.06.01 -
프로그래머스 체육복 코드 및 해설 (파이썬)
https://programmers.co.kr/learn/courses/30/lessons/42862 코딩테스트 연습 - 체육복 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번 programmers.co.kr 우선 answer에 체육 수업에 참여할 수 있는 최소 학생 수인 (전체 학생 수) - (체육복을 도난당한 학생 수)를 저장했습니다. 이후 lost와 reserve 모두 오름차순으로 정렬하고, 체육복을 도난당했지만 여벌의 체육복이 있는 학생 수 먼저 자신의 체육복을 입도록 했습니다. 이러한 학생들의 수를 구해 answer에 더해주고, 이들을 lost와 reserve..
2021.06.01 -
프로그래머스 이중우선순위큐 코드 및 해설 (파이썬)
https://programmers.co.kr/learn/courses/30/lessons/42628 코딩테스트 연습 - 이중우선순위큐 programmers.co.kr operate 함수를 통해 각 명령어를 식별하고, 삽입의 경우 리스트 맨 뒤에 숫자를 삽입, 최댓값 및 최솟값은 max, min 함수를 사용하고 remove를 통해 삭제했습니다. (지금 생각해보니 만약에 최댓값이나 최솟값이 2개 이상이면 어떻게 해야 하는지 문제에 설명을 안 했네요?! 그냥 하나만 삭제하는 걸까요) for 문을 통해 각 명령어를 차례로 이행해주고, 큐가 비어있는 경우 [0,0]을, 아닌 경우 max, min 함수를 이용해 [최댓값, 최솟값]을 반환했습니다. def operate(q, operation): # 삽입 if op..
2021.06.01 -
프로그래머스 후보키 코드 및 해설 (파이썬)
https://programmers.co.kr/learn/courses/30/lessons/42890 코딩테스트 연습 - 후보키 [["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 candidate_keys라는 리스트에 유일성과 최소성을 모두 만족하는 후보키의 인덱스를 저장합니다. 먼저 key, 혹은 column의 개수를 N으로 저장합니다. 그리고 1에서 N까지 증가하며 각 key의 combination을 구합니다. ..
2021.06.01 -
프로그래머스 예상 대진표 코드 및 해설 (파이썬)
https://programmers.co.kr/learn/courses/30/lessons/12985 코딩테스트 연습 - 예상 대진표 △△ 게임대회가 개최되었습니다. 이 대회는 N명이 참가하고, 토너먼트 형식으로 진행됩니다. N명의 참가자는 각각 1부터 N번을 차례대로 배정받습니다. 그리고, 1번↔2번, 3번↔4번, ... , N-1번↔N programmers.co.kr answer에 a,b가 만나는 라운드의 번호를 저장합니다. 처음엔 1로 초기화합니다. check_if_meet 함수를 통해 현재 라운드에서 a,b가 만나는지 확인합니다. a,b가 만나려면 둘의 차가 1이고 둘 중 더 큰 값이 짝수여야 합니다. next_num 함수는 현재 선수의 번호를 받으면, 다음 라운드에 이 선수에게 주어질 번호를 반..
2021.06.01