목록전체 글 (65)
nueijeel
📌 문제 설명 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의 이름을 return 하도록 solution 함수를 작성해주세요. 📌 작성한 코드 def solution(participant, completion): d = dict.fromkeys(participant,0) for i in participant: if i in d: d[i]+=1 for k in completion: if k in d: d[k]-=1 answer = [k for k,v in d.items() if v==1..
1. 변수 변수 선언하기 var 변수명: 타입 = 값 val 변수명: 타입 = 값 코틀린에서 변수는 var / val 키워드로 선언한다. var(variable) 키워드는 초깃값이 할당된 후에도 값을 바꿀 수 있는 변수를 선언할 때 사용하고, val(value) 키워드는 초깃값이 할당된 후에는 값을 바꿀 수 없는 변수를 선언할 때 사용한다. 쉽게 말해, var은 변수이고 val은 상수이다. var data1 = 10 val data2 = 20 fun main(){ data1 = 30 data2 = 40//오류발생 } 위와 같은 경우에 val 키워드로 선언된 변수인 data2에 초깃값 할당 후 main() 함수에서 새로운 값을 할당하려고 한다. 이때 컴파일 오류가 발생한다. 반대로 var 키워드로 선언된 ..
문제 설명 머쓱이는 구슬을 친구들에게 나누어주려고 합니다. 구슬은 모두 다르게 생겼습니다. 머쓱이가 갖고 있는 구슬의 개수 balls와 친구들에게 나누어 줄 구슬 개수 share이 매개변수로 주어질 때, balls개의 구슬 중 share개의 구슬을 고르는 가능한 모든 경우의 수를 return하는 solution 함수를 완성해주세요. 문제를 보자마자 itertools 라이브러리의 combinations 함수를 이용해야겠다고 생각했다. 페이지 내에 제공된 힌트도 조합 공식이었다. Hint 서로 다른 n개 중 m개를 뽑는 경우의 수 공식은 다음과 같습니다. 작성한 코드 1 from itertools import combinations def solution(balls, share): answer = list(..
문제 설명 머쓱이는 RPG게임을 하고 있습니다. 게임에는 up, down, left, right 방향키가 있으며 각 키를 누르면 위, 아래, 왼쪽, 오른쪽으로 한 칸씩 이동합니다. 예를 들어 [0,0]에서 up을 누른다면 캐릭터의 좌표는 [0, 1], down을 누른다면 [0, -1], left를 누른다면 [-1, 0], right를 누른다면 [1, 0]입니다. 머쓱이가 입력한 방향키의 배열 keyinput와 맵의 크기 board 이 매개변수로 주어집니다. 캐릭터는 항상 [0,0]에서 시작할 때 키 입력이 모두 끝난 뒤에 캐릭터의 좌표 [x, y]를 return하도록 solution 함수를 완성해주세요. 해결 단계 원점 설정 문자열 배열인 keyinput의 요소들을 차례로 하나씩 right, left, ..
문제 설명 우주여행을 하던 머쓱이는 엔진 고장으로 PROGRAMMERS-962 행성에 불시착하게 됐습니다. 입국심사에서 나이를 말해야 하는데, PROGRAMMERS-962 행성에서는 나이를 알파벳으로 말하고 있습니다. a는 0, b는 1, c는 2, ..., j는 9입니다. 예를 들어 23살은 cd, 51살은 fb로 표현합니다. 나이 age가 매개변수로 주어질 때 PROGRAMMER-962식 나이를 return하도록 solution 함수를 완성해주세요. 해결 단계 "a는 0, b는 1, c는 2, ..., j는" 을 보자마자 dictionary형 변수를 사용해야겠다고 생각했다. 다만 값을 비교해야하는 age가 int형 변수이기 때문에 문자열로 바꾸는 과정을 거친 후, 비교해야 한다. 작성한 코드 def ..
문제 설명 최빈값은 주어진 값 중에서 가장 자주 나오는 값을 의미합니다. 정수 배열 array가 매개변수로 주어질 때, 최빈값을 return 하도록 solution 함수를 완성해보세요. 최빈값이 여러 개면 -1을 return 합니다. 해결 단계 코드를 작성하다가 예전에 계수정렬 배웠던 내용이 생각나서 count 배열을 이용해 해결해보았다. 1. 정수 배열 array를 오름차순으로 정렬(이미 정렬된 배열을 주는건지는 모르겠으나 일단 정렬해줌) 2. 정렬된 array의 맨 마지막 요소를 길이로 하는 배열 선언 및 초기화 3. for 문을 통해 array에 있는 요소 당 등장 횟수를 count 배열에 저장 4. count 배열의 값과 인덱스 모두 접근해야하므로 dictionary 자료형 변수에 저장 5. if..
문제 설명 머쓱이는 태어난 지 6개월 된 조카를 돌보고 있습니다. 조카는 아직 "aya", "ye", "woo", "ma" 네 가지 발음을 최대 한 번씩 사용해 조합한(이어 붙인) 발음밖에 하지 못합니다. 문자열 배열 babbling이 매개변수로 주어질 때, 머쓱이의 조카가 발음할 수 있는 단어의 개수를 return하도록 solution 함수를 완성해주세요. 해결 단계 1. 조카가 할 수 있는 발음 문자열을 배열 word로 선언한다. 2. 문자열 배열 babbling의 각 문자열에서 word의 각 문자열이 포함되어 있는지 for문 내에서 replace()함수를 이용해서 찾고, 있으면 다른 문자로 변경한다. 3. for문이 종료된 후 babbling 배열의 문자열에서 바뀐 문자로만 이루어진 문자열이 있다면..