🔎 처음 시도
이중 포문으로 하나하나 비교하면 되겠지?라는 생각으로 모두 비교해줬는데, 이렇게 하면 입력이 한꺼번에 주어졌을 때 밀리는 현상 때문에 올바르게 판단을 못한다. 얘가 검사를 다할 때까지 sleep을 건다고 쳐도, 잘못된 알고리즘인 것같다는 생각이 들었다. 어쨌든 문자열을 보려면 모든 문자열을 다 확인해봐야 하는데,, 어떻게 할까 하다가 알게된 find 함수
str.find(찾고자하는 문자열) 형식으로 사용된다.
만약 값을 찾으면 str의 해당 인덱스가 반환되고, 없으면 -1을 반환한다.
🤔 두 번째 시도
cnt = 26 # 총 알파벳 개수
while True:
sentence = input()
sentence.replace(" ", "")
if sentence == '*':
break
for alphabet in range(97,123):
if sentence.find(chr(alphabet)) == -1:
cnt -= 1
break
if cnt >= 26:
print('Y')
else:
print('N')
분명히 로직은 맞는 것같은데 계속 틀렸습니다의 연발..
이유는 바로 반복문에서의 변수 초기화 문제였다. 케이스 마다 cnt를 확인하고싶으면 케이스가 갱신되는 while 문 안에서 cnt의 기본값을 설정해줘야 한다는 점...!! replace는 없어도 되는데 혹시나 하는 마음으로 시도 해본 것.😂
💻 최종 코드
위 코드에서 cnt 변수만 while 안쪽으로 넣고 갱신되도록 만들어 주면 된다.
앞으로 반복문을 짤 때 반복문이 돌아가는 로직에 대해서 깊게 이해하고, 구현해야겠다는 생각이 들었다.
cnt = 26 # 총 알파벳 개수
while True:
cnt = 26 # 총 알파벳 개수
sentence = input()
sentence.replace(" ", "")
if sentence == '*':
break
for alphabet in range(97,123):
if sentence.find(chr(alphabet)) == -1:
cnt -= 1
break
if cnt >= 26:
print('Y')
else:
print('N')
'Koala - 9기 > 기초 알고리즘 스터디' 카테고리의 다른 글
[14625번] 나는 행복합니다 (0) | 2023.01.08 |
---|---|
[백준/JS] 10869번 사칙연산 (0) | 2023.01.08 |
[백준/Python] 15917번 노솔브 방지문제야!! (0) | 2023.01.07 |
[백준/Python] #14681 사분면 고르기 (0) | 2023.01.06 |
[백준/Python] #2739 구구단을 외자 x2 (0) | 2023.01.06 |