Algorithm/백준

[BOJ] 2774 - 아름다운 수

비번변경 2022. 2. 5. 20:43

문제

https://www.acmicpc.net/problem/2774

임의 개수의 10진수를 입력받아, 입력받은 값의 서로 다른 숫자의 개수를 출력하는 프로그램을 작성하라.

 

풀이

1. 10진수를 문자열로 입력받는다.

2. 입력 문자열의 중복을 제거한다.

3. 중복을 제거한 결과값의 길이를 출력한다.

 

코드

import sys

for i in '_' * int(sys.stdin.readline()):
    print(len(set(sys.stdin.readline()[:-1])))

문자열의 중복을 제거하는 방법에는 여러 방법이 존재하지만 여기서는 간단하게 set으로 형변환하는 방식을 사용했다. 참고로 문자열을 set으로 형변환할 때 list로 형변환을 거칠 필요는 없다.

값을 입력받을 때 sys.stdin.readline()을 사용한다면 개행문자 처리에 주의해야 한다. input() 사용 시에는 해당하지 않는다.