728x90
21313번: 문어
문어에게 여덟개의 팔이 있다는 사실은 잘 알려져 있다. 하지만 문어들이 자신의 팔들을 1번, 2번, 3번, ..., 8번이라고 부른다는 말은 오늘 처음 들었을 것이다! 단, 시계방향으로 오름차순이라던
www.acmicpc.net
22/09/03
그룹에서 연습문제로 같이 풀었던 문제 중 하나이다. 간단한 그리디 문제로 쉽게 풀 수 있었다.
문제 접근 방식:
예제 입력을 보고 짝수일 때의 경우를 쉽게 유추할 수 있었다.
붙어있는 배열의 두 원소가 서로 다르고, 그 배열들 중에서 제일 사전 순으로 앞서는 것을 출력하면 되므로, 그리디적인 방법으로 보았을 때, 1과 2가 반복되는 문자열을 출력만 하면 된다.
홀수일 때의 경우는 짝수일 때의 경우에서 3만 덧붙이면 된다.
그 이유는 맨 끝과 맨 처음이 달라야 하는데, 만약 1 2만 반복하면 1로 끝나서 맨 끝과 맨 처음이 같기 때문이다.
아래는 내가 위의 접근 방식과 같이 작성한 파이썬 코드이다. 더보기를 누르면 확인할 수 있다.
더보기
# 21313번 문어
N = int(input())
if N % 2 == 0:
print('1 2 '*(N//2))
else:
print('1 2 '*(N//2), '3', sep = '')
728x90
'알고리즘 > 백준 문제 풀이' 카테고리의 다른 글
[Python] 16956번 늑대와 양 (0) | 2022.09.13 |
---|---|
[Python] 1551번 수열의 변화 (0) | 2022.09.13 |
[Python] 2022번 사다리 (0) | 2022.09.13 |
[Python] 9663번 N-Queen (0) | 2022.09.13 |
[Python] 1069번 집으로 (0) | 2022.09.12 |