-
python 369를 하자개발 이야기/알고리즘 및 코테 준비 2023. 1. 6. 16:10
문제: 특정 숫자 n을 입력했을 때 그 수까지 공백을 두고 수를 출력한다.
이때 3, 6, 9 중 하나라도 포함되어 있으면, 그 수 대신 영문 대문자 X를 출력한다.
33과 같이 3,6,9가 두 번 들어간 수 일때, "X"과 같이 X를 출력하는 형태도 있다.
풀이:
이 문제는 생각보다 간단(?)하게 해결할 수 있다.수를 문자열로 바꾸고, slicing한 후 for문을 돌면서 3,6,9가 몇개가 있는지 count하면 된다. 이 때 3, 6, 9를 ==로 확인 가능하지만 %3==0으로 확인할 수도 있다. 다만 후자의 경우 0도 포함되기에 0인 case는 제외해줘야한다. 코드는 아래와 같다,
n = int(input()) for i in range(1,n+1): s = str(i) count = 0 for x in s: x = int(x) if(x!=0 and x%3==0): count += 1 if count == 0: print(i, end=" ") else: print(count*"X", end=" ")
'개발 이야기 > 알고리즘 및 코테 준비' 카테고리의 다른 글
[알고리즘 실습환경 구축] 알고리즘 튜토리얼 및 개요 (9) 2024.09.03 python 우선순위 que vs 힙 자료구조 (0) 2023.01.27 Python Counter와 Counter 사용 문제(백준 2108, 최빈값 찾기) (0) 2023.01.24 Python List 자료형 변경과 Sort (0) 2023.01.20 python 2중 배열 문제&행,열 다루기 (0) 2023.01.11