백준 알고리즘 1316번 그룹 단어 체커, 파이썬
이번 문제는 백준 알고리즘의 1316번 그룹 단어 체크이다. 역시 파이썬으로 풀어보았다.
자, 정리해보면 그룹 단어는 단어에 존재하는 모든 문자가 연속적으로 나타나는 경우이다.
단어 N개를 입력받아 그 중에 그룹 단어의 개수를 구하는 프로그램을 작성 하라는것이다.
문제의 조건
#조건 1. 첫째줄에 단어의 개수 N을 입력받는다.
#조건 2. 알파벳 소문자로만 이루어진 단어들이 N개만큼 줄바꿈 기준으로 주어진다.
문제에 대한 내 생각이다.
# 생각 1. 백준 알고리즘 1316번 그룹 단어 체커, 파이썬
이번 문제는 백준 알고리즘의 1316번 그룹 단어 체크이다. 역시 파이썬으로 풀어보았다.

자, 정리해보면 그룹 단어는 단어에 존재하는 모든 문자가 연속적으로 나타나는 경우이다.
단어 N개를 입력받아 그 중에 그룹 단어의 개수를 구하는 프로그램을 작성 하라는것이다.
문제의 조건
#조건 1. 첫째줄에 단어의 개수 N을 입력받는다.
#조건 2. 알파벳 소문자로만 이루어진 단어들이 N개만큼 줄바꿈 기준으로 주어진다.
문제에 대한 내 생각이다.
# 생각 1. 단어를 체크하면서 새로 저장 할 변수 result = str() 하나 생성한다.
# 생각 2. 문자열을 받아와서 for문을 이용해 하나씩 집어 넣는데,
여기서, 한 문자씩 받아 오면서, 문자가 result 라는 문자열 내에 없으면 i를 result에 더해주고
만약에 있다면, 조건이 나뉜다. result의 맨 마지막 문자가 아닐 경우 False를 반환해주고
맨 마지막 경우일 때 True를 반환 해 주는 함수를 하나 작성한다.
# 생각 3. 받아온 숫자만큼 반복문으로 함수에 문자열을 넣고 돌리면서 count를 세어준다. count의 값이 정답이다
def is_true(string): result = "" for i in string: if i not in result: result = result + i else: if i != result[-1]: return False else: result = result + i return True num = int(input()) count = 0 for i in range(num): string = input() if is_true(string) == True: count = count + 1 print(count)
간단 했던거 같은데, 코드 짜면서 좀 오래걸린 문제 였던거 같다.
조건문이 많아지다보니 헷갈려서 그랬던거 같은데, 좀더 천천히 생각 해 봐야겠다.
문제 출처
https://www.acmicpc.net/problem/1316
'코딩테스트 > 백준 알고리즘 풀이' 카테고리의 다른 글
[백준 알고리즘/python] 백준 2839번 설탕 배달, 파이썬 (0) | 2020.03.21 |
---|---|
[백준 알고리즘/python] 백준 1712번 손익분기점, 파이썬 (1) | 2020.03.21 |
[백준 알고리즘/python] 백준 2941번 크로아티아 알파벳, 파이썬 (0) | 2020.03.19 |
[백준 알고리즘/python] 백준 5622번 다이얼, 파이썬 (0) | 2020.03.19 |
[백준 알고리즘/python] 백준 2908번 상수, 파이썬 (0) | 2020.03.19 |
댓글