티스토리 뷰
728x90
https://www.acmicpc.net/problem/1614
- 문제 :
영식이는 숫자를 셀 때, 왼손을 이용한다. 엄지손가락부터 시작해서 새끼손가락까지 차례대로 하나씩 센다. 그다음에 새끼손가락까지 센 다음에는 반대로 엄지손가락으로 다시 역방향으로 센다. 영식이는 자기가 원하는 숫자가 나올 때 까지 계속해서 이 방법으로 센다. 영식이는 절대 손가락을 건너뛰지 않는다. 예를 들어 숫자 10을 셀 때는, 엄지 → 검지 → 중지 → 약지 → 새끼 → 약지 → 중지 → 검지 → 엄지 → 검지 이렇게 센다.
영식이가 손가락을 하나 다쳤다. 영식이는 오른손으로는 셀 수 없기 때문에, 왼손으로 세야 한다. 다친 손가락을 이용해서 셀 수 있는 횟수가 제한되어 있다.
영식이가 셀 수 있는 최대 숫자를 출력하는 프로그램을 작성하시오.
- 풀이 :
구현 문제였습니다.
주어진 조건에 맞게 분기점을 설정하여 각각 맞는 값을 출력합니다.
다친 손가락이 1 또는 5 일경우
1,2,3,4,5,4,3,2 의 8짜리 반복에서 한번 돌 때마다 다친 손가락을 1 회만 사용하게 되므로 1일땐 8 * 다친손가락 사용횟수, 5일땐 그 값에 4를 더해 출력합니다.
만약 다친 손가락이 2~4번이면 한 번 돌 때마다 2번씩 사용하므로 2로 나누어 처리해주면 됩니다.
- 소스코드 :
finger = int(input())
cnt = int(input())
if 2<=finger<=4:
if cnt % 2 == 0:
cnt //= 2
print((cnt * 8) + (finger - 1))
else:
cnt //= 2
print((cnt * 8) + (1 - finger))
elif finger == 1:
print(cnt * 8)
else:
print(cnt*8 + 4)
320x100
'Algorithm > Implementation' 카테고리의 다른 글
(Python) - 프로그래머스(2022 KAKAO BLIND RECRUITMENT) : 신고 결과 받기 (0) | 2022.03.11 |
---|---|
(Python) - BOJ(5052번) : 전화번호 목록 (0) | 2022.03.07 |
(Python) - BOJ(4396번) : 지뢰 찾기 (0) | 2022.03.07 |
(Python) - BOJ(1264번) : 모음의 개수 (2) | 2022.03.05 |
(Python) - BOJ(1991번) : 트리 순회 (2) | 2022.03.03 |
댓글
© 2022 WonSeok, All rights reserved