구현 : 알고리즘을 정확하고 빠르게 프로그램으로 작성하는 과정을 구현이라고 함.
완전 탐색과 시뮬레이션 : 구현 능력이 요구되는 대표적인 알고리즘 문제 유형으로
완전 탐색과 시뮬레이션이 있다.
완전 탐색 : 모든 경우의 수를 빠짐없이 다 계산하는 해결 방법 / 모든 경우의 수를 다 계산 -> 재귀 함수(DFS/BFS)
시뮬레이션 : 문제에서 제시하는 논리나 동작 과정을 그대로 코드로 옮겨야 하는 유형을 의미
원소를 나열하는 모든 경우의 수를 고려해야 상황에서 보통 순열이나 조합 라이브러리를 사용해야 함.
Q7. 럭키 스트레이트
게임의 아웃복서 캐릭터는 필사기인 '럭키 스트레이트' 기술이 있다.
매우 강력한 기술인 대신에, 특정 조건을 만족할 때만 사용할 수 있다.
특정 조건
현재 캐릭터의 점수를 N이라고 할 때 자릿수를 기준을 점수 N을 반으로 나누어
왼쪽 부분의 각 자릿수의 합과 오른쪽 부분의 각 자릿수의 합이 동일한 상황을 의미함
Ex. 123,402 라면 왼쪽 부분의 각 자릿수이 합은 1+2+3, 오른쪽 부분의 각 자릿수의 합은 4+0+2 이므로 두 합이 6으로 동일하여 럭키 스트레이트를 사용할 수 있습니다.
럭키 스트레이트를 사용할 수 있는 상태라면 "LUCKY", 사용할 수 없다면 "READY"를 출력합니다.
단 자릿수는 짝수의 형태로만 들어오며 홀수로는 들어오지 않습니다.
문제 풀이
n = input()
str_len = len(n)
point = int(str_len//2)
start = n[:point]
end = n[point:]
start = [int(i) for i in start]
end = [int(i) for i in end]
if sum(start) == sum(end):
print("LUCKY")
else:
print("READY")
슬라이싱을 이용하여 문자열 길이를 구해, 반으로 쪼개기
반으로 쪼갠 리스트를 int 숫자형으로 변환
숫자로 모여있는 값을 더해, 각 합이 같으면 "LUCKY", 같지 않으면 "READY"출력
'코딩테스트' 카테고리의 다른 글
[이것이 코딩테스트다] p.240 우선 순위 큐 (0) | 2024.04.08 |
---|---|
[이것이 코딩테스트다] Q 08. 문자열 재정렬 (0) | 2024.03.26 |
[이것이 코딩테스트다] Chapter 05 DFS/BFS - 미로 탈출 (4) | 2024.03.23 |
[이것이 코딩테스트다] Chapter 05 DFS/BFS - 음료수 얼려 먹기 (0) | 2024.03.23 |
[프로그래머스] DFS/BFS - 게임 맵 최단거리 (0) | 2024.03.22 |