목록분류 전체보기 (68)
nueijeel
문제 설명 우주여행을 하던 머쓱이는 엔진 고장으로 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 배열의 문자열에서 바뀐 문자로만 이루어진 문자열이 있다면..
문제 설명 점 네 개의 좌표를 담은 이차원 배열 dots가 다음과 같이 매개변수로 주어집니다. [[x1, y1], [x2, y2], [x3, y3], [x4, y4]] 주어진 네 개의 점을 두 개씩 이었을 때, 두 직선이 평행이 되는 경우가 있으면 1을 없으면 0을 return 하도록 solution 함수를 완성해보세요. 해결 단계 두 직선이 평행(혹은 일치)인지 알아보려면 두 직선의 기울기를 비교하면 된다. 두 점 (x1, y1), (x2, y2)를 지나는 직선의 기울기 : ( y1 - y2 ) / ( x1 - x2 ) 작성한 코드 def find(dot1, dot2): return (float)(dot1[1]-dot2[1])/(float)(dot1[0]-dot2[0]) def solution(dots..
코테 문제를 너무 오랜만에 푸는 바람에 감을 다 잃어서 ㅜㅡㅠ 레벨 0부터 차근히 도전하는 중...!! 문제 설명 첫 번째 분수의 분자와 분모를 뜻하는 numer1, denom1, 두 번째 분수의 분자와 분모를 뜻하는 numer2, denom2가 매개변수로 주어집니다. 두 분수를 더한 값을 기약 분수로 나타냈을 때 분자와 분모를 순서대로 담은 배열을 return 하도록 solution 함수를 완성해보세요. 해결 단계 두 분수를 더하기 위해서는 1. 두 분수의 분모를 비교하여 통분이 필요한지 확인 2-1. 통분이 필요하다면 각 분수의 분모, 분자에 다른 분수의 분모를 곱해준다. 2-2. 통분이 필요하지 않으면 그냥 더한다. 3. 2에서 구한 분모의 최대공약수를 이용하여 분수를 기약분수로 만든다. 작성한 코..