Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- 현대sw
- 다트
- 파이썬
- Flutter
- 백준
- Android
- 아마존 웹 서비스
- 안드로이드
- 코틀린
- 머신러닝
- VSCode
- GDSC
- softeer
- 플러터
- kotlin
- java
- 프로그래머스
- 개발
- 소프티어
- baekjoon
- programers
- MVVM
- 코테
- aws
- DART
- 스위프트
- SWIFT
- Python
- 알고리즘
- 자바
Archives
- Today
- Total
조준장 개발자 생존기
[baekjoon] 백준 1769번(파이썬): 3의 배수 본문
문제
1769번: 3의 배수
문제가 잘 풀리지 않을 때, 문제를 바라보는 시각을 조금만 다르게 가지면 문제가 쉽게 풀리는 경험을 종종 해 보았을 것이다. 여러 가지 방법이 있지만 그 중 하나로 우리가 풀고 싶은 문제를
www.acmicpc.net
알고리즘
- 반복문을 통해 입력받은 수가 한 자리 수가 될 때까지 문제 변환 과정을 수행한다.
- 문제 변환 과정은 sum() 함수를 통해 리스트의 모든 수를 더하고 반복문을 통해 더한 수를 자릿수에 나눠 리스트에 다시 담는다. 담은 리스트는 다시 word에 넣어 이 과정을 반복한다.
- 문제 변환 과정이 이루어질 때마다 카운트한다.
- 입력받은 수가 한 자리 수가 됐다면 문제 변환 과정을 카운트한 수를 출력하고 한 자리 수가 3의 배수인지 확인 후 조건에 맞게 출력한다.
코드
import sys
word = list(map(int, sys.stdin.readline().strip()))
cnt = 0 # 문제 변환 과정
# 반복문을 통해 한 자리 수가 될 때까지 문제 변환 과정을 수행
while len(word) > 1:
cnt += 1 # 문제 변환 과정 카운트
# 뮨제 변환 과정
temp = []
word = sum(word) # 각 리스트의 수를 더한다.
# 반복문을 통해 더한 수를 자릿수에 나눠 리스트에 담는다.
for i in str(word):
temp.append(int(i))
# 리스트를 word에 다시 넣는다.
word = temp
# 문제 변환 과정 출력
print(cnt)
# 한 자리 수가 3의 배수인지 확인
if word[0] % 3 == 0:
print("YES")
else:
print("NO")
github
GitHub - junjange/CodingTest: 내가 푼 코딩 테스트 문제와 해결법
내가 푼 코딩 테스트 문제와 해결법. Contribute to junjange/CodingTest development by creating an account on GitHub.
github.com
'CodingTest > Baekjoon' 카테고리의 다른 글
[baekjoon] 백준 1755번(파이썬): 숫자놀이 (0) | 2022.01.08 |
---|---|
[baekjoon] 백준 1969번(파이썬): DNA (0) | 2022.01.07 |
[baekjoon] 백준 14426번(파이썬): 접두사 찾기 (0) | 2022.01.05 |
[baekjoon] 백준 1254번(파이썬): 팰린드롬 만들기 (0) | 2022.01.04 |
[baekjoon] 백준 10430번(파이썬): 나머지 (0) | 2022.01.03 |