Hi, There!
안녕하세요, 바오밥입니다.
목차
- 문제
- 풀이
문제
문제 내용
UP AND DOWN 게임은 다음과 같은 규칙에 따라 진행하는 게임입니다.
- 먼저 출제자가 1 이상 ~ K 이하인 자연수 중 하나를 마음속으로 생각합니다.
- 게임 참가자는 1 이상 ~ K 이하인 자연수 중 아무거나 하나를 말합니다.
- 만약, 참가자가 말한 숫자가 출제자가 생각한 숫자보다 작다면 출제자는 "UP"이라고 말합니다.
- 만약, 참가자가 말한 숫자가 출제자가 생각한 숫자보다 크다면 출제자는 "DOWN"이라고 말합니다.
- 참가자는 출제자가 말하는 "UP", "DOWN" 힌트를 잘 활용해서 출제자가 처음에 생각한 숫자를 맞추면 됩니다.
출제자가 처음에 생각할 수 있는 자연수 범위 K, 게임 참가자가 말한 숫자가 순서대로 담긴 리스트 numbers, 게임 출제자가 참가자가 말한 각 숫자에 대해 답한 내용이 순서대로 담긴 리스트 up_down이 매개변수로 주어집니다.
리스트에 주어진 순서대로 게임이 진행됐다고 했을 때, 현재 정답이 될 수 있는 숫자는 몇 개인지 return 하도록 solution 함수를 작성하려 합니다.
빈칸을 채워 전체 코드를 완성해주세요.
매개변수 설명
출제자가 처음에 생각할 수 있는 자연수 범위 K, 게임 참가자가 말한 숫자가 순서대로 담긴 리스트 numbers, 게임 출제자가 참가자가 말한 각 숫자에 대해 답한 내용이 순서대로 담긴 리스트 up_down이 solution 함수의 매개변수로 주어집니다.
- K는 1 이상 10,000 이하인 자연수입니다.
- numbers 리스트의 길이는 1 이상 10 이하입니다.
- numbers 리스트의 원소는 1 이상 K 이하인 자연수입니다.
- up_down 리스트의 길이는 numbers 리스트의 길이와 같습니다.
- up_down 리스트는 문자열 "UP", "DOWN", "RIGHT"으로만 이루어져 있습니다.
- "RIGHT"이 나오면 정답을 맞췄다는 것이며, 게임은 더는 진행되지 않습니다.
- 항상 올바르게 게임이 진행된 경우만 입력으로 주어집니다.
return 값 설명
리스트에 주어진 순서대로 게임이 진행됐다고 했을 때, 현재 정답이 될 수 있는 숫자는 몇 개인지 return 해주세요.
출제자가 "RIGHT"을 말한 상태로 게임이 끝났다면 정답을 맞춘 것이므로 1을 return 하면 됩니다.
예제
예제 설명
예제 #1
따라서 현재 상황에서 가능성 있는 숫자는 2개입니다.
예제 #2
따라서 현재 상황에서 가능성 있는 숫자는 3개입니다.
예제 #3
따라서 정답을 맞췄으므로 1을 return 하면 됩니다.
풀이
풀이 코드 및 해설
def solution(K, numbers, up_down):
left = 1
# left를 1로 지정 (최소 값으로 지정, 1보다 낮은 수는 부르지 못하기 때문)
right = K
# right를 사용자가 지정한 K 값
# 즉, 최대 값으로 지정
for num, word in zip(numbers, up_down):
if word == "UP":
left = max(left, num)
# left는 이전에 저장되어 있던 변수
# num은 numbers의 요소들을 하나씩 매핑하는 변수
# left, num 중 큰 수를 left에 저장
# 그래야 범위가 좁혀짐.
elif word == "DOWN":
right = min(right, num)
# right, num 중 작은 수를 right에 저장
# 그래야 범위가 좁혀짐
elif word == "RIGHT":
return 1
return right-left-1
# 제일 작은 수 < n < 제일 큰 수 임.
# 따라서, 작은 수나 큰 수랑 같으면 안 되기 때문에 -1
'Certificate > Cert - Cos Pro 1급' 카테고리의 다른 글
[프로그래머스] Cos Pro 1급 모의고사, 코인을 많이 획득하세요 (2) | 2021.07.01 |
---|---|
[프로그래머스] Cos Pro 1급 모의고사, 만났을 때 최대인 경우 (0) | 2021.06.30 |
[프로그래머스] Cos Pro 1급 모의고사, 급여 총합 구하기 (0) | 2021.06.30 |
[프로그래머스] Cos Pro 1급 모의고사, 지그재그 수열 (0) | 2021.06.30 |
[프로그래머스] Cos Pro 1급 모의고사, 스택으로 큐 구현 (0) | 2021.06.29 |