이번 문제는 내게 난이도가 있었다.
우선, 아래처럼 접근을 잘못했다.
cal() 함수를 만들어 x[i]가 store 리스트에 속해있다면 result을 0으로 내뱉는 함수이다.
이때, set 함수를 이용해 input으로 받는 문자열을 집합으로 만드는데, 이렇게 되면 result = 0 이 되는 조건이 발생할 수 없다.
N = int(input())
num = 0
def cal(x):
store = []
result = 1
for i in range(0, len(x)):
if x[i] in store:
result = 0
else:
store.append(x[i])
return result
while N>0:
char = input()
char = list(set(char))
if cal(char):
num += 1
N -= 1
print(num)
[수정 전]
N = int(input())
cnt = N
while N>0:
word = input()
for i in range(len(word)-1):
if word[i] == word[i+1]:
pass
elif word[i] in word[i+1:]:
cnt -= 1
break
N -= 1
print(cnt)
[수정 후]
새로운 관점이 필요하다.
관점 1. 조건에 해당될 때, 값을 빼는 것
관점 2. 특정 조건을 통과했을 때, 다른 조건을 추가하여 두 가지 조건을 동시에 만족하는 것으로 조건 만들기.
'코딩 개발자의 하루 > Python Programming' 카테고리의 다른 글
[백준 1520번] 내리막길 (+DP 개념) (0) | 2024.01.28 |
---|---|
[백준 2644번] 촌수계산 (BFS) (0) | 2024.01.15 |
[백준 3003번] 킹, 퀸, 룩, 비숍, 나이트, 폰 (0) | 2024.01.07 |
[백준 25304번] 영수증 (1) | 2024.01.07 |
[백준 9506번] 약수들의 합 (0) | 2024.01.05 |