반응형

문제 설명


문제의 포인트
- 갈수록 문제를 푸는 방법이 다양해지니 본인에게 맞는 풀이법을 이용하면 되겠다.
- lstrip 함수를 이용하면 이 문제를 훨씬 간단하게 풀 수 있다.
문제 풀이 방법
문제를 풀면서 print 문을 이용해 내가 원하는 값이 잘 나오고 있는지 꼼꼼히 체크해가며 풀어야 하는 문제이다.
- 첫 줄에는 다음에 입력할 줄의 갯수를 입력해준다.
N = int(input())
2. 한줄한줄 입력한 단어를 모두 살핀 후 출력값을 내야하므로 한 리스트에 모두 담아준다.
wordList = []
for i in range(N):
word = input()
wordList.append(word)
3. wordList 내의 단어 중 연속된 단어의 갯수를 세기 위해 count 변수를 넣는다.
cnt = 0
4. wordList 내의 단어들을 돌려줘야하니 wordList로 for문을 짜준다.
for i in wordList:
5. miniWord라는 변수에 단어에 쓰인 모든 알파벳을 중복 없이 한 개씩만 담을 것이다.
miniWord = []
for j in i:
if j not in miniWord:
miniWord.append(j)
6. miniWord 에 담긴 알파벳과 입력한 단어(word)를 비교해 앞에서부터 알파벳을 거른다. 이 때, lstrip을 활용해 앞에 나온 알파벳이 새로 뒤에도 나온다면 사라지지 않도록 막아줘야 한다.
알파벳이 순서대로 다 걸러졌는데 word에 알파벳이 남았다면 앞에 나왔던 단어이므로, len(i)가 0인지 아닌지를 구분해 카운트를 세면 된다.
for k in range(len(miniWord)):
i = i.lstrip(i[0])
if len(i) == 0:
cnt += 1
7. 마지막으로 cnt 값을 print해주면 된다.
print(cnt)
정답 코드
N = int(input())
wordList = []
for i in range(N):
word = input()
wordList.append(word)
cnt = 0
for i in wordList:
miniWord = []
for j in i:
if j not in miniWord:
miniWord.append(j)
for k in range(len(miniWord)):
i = i.lstrip(i[0])
if len(i) == 0:
cnt += 1
print(cnt)
반응형
'IT' 카테고리의 다른 글
백준 / Python / 2566 / 최댓값 / 문제풀이 / 상세설명 (0) | 2023.05.29 |
---|---|
파이썬 기초 / Python / Errors / 파이썬 각종 에러 발생 원인 (0) | 2023.05.28 |
파이썬 기초 / Python / dictionary / 딕셔너리 (0) | 2023.05.24 |
파이썬 기초 / Python / 지우기 (0) | 2023.05.22 |
파이썬 기초 / Python / format / 포맷팅 (0) | 2023.05.20 |
백준 / Python / 4344 / 평균은 넘겠지 / 문제풀이 / 파이썬 format 함수 / 소수점 반올림 (0) | 2023.05.20 |
백준 / Python / 2444 / 별 찍기 - 7 / 문제풀이 (0) | 2023.05.18 |
백준 / Python / 5622 / 다이얼 / 문제풀이 (0) | 2023.05.04 |
댓글