728x90
문제 링크: https://www.acmicpc.net/problem/1316
1316번: 그룹 단어 체커
그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때
www.acmicpc.net
몇 주만에 성장한 나의 모습을 느낄 수 있었던 문제!
❌ 10월 마지막 주 1~2차시도 실패
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
# 1.연속O
# 1-1)다음자리도 연속인지 물어보고
# 1-2)어느순간 뒤에 다른거 나오면, 그 다른숫자 다음으로 자기가 포함되어 있는지
# 포함되어 있으면 그룹단어가 아님
# 2. 연속x
# 이후로 자기가 포함되어 있는지
# A. 그룹단어를 출력하시오
#1차시도 실패-----------------------
n=int(input())
for _ in range(n):
t=list(input())
for i in range(len(t)):
if t[i]!=t[i+1]:
if t[i] in t[i+1:]:
print("그룹단어 아님")
else:
print("그룹단어임")
pass
#2차시도 실패--------------
n=int(input())
for _ in range(n):
t=list(input())
for i in range(0,len(t)):
if t[i]==t[i+1]:
pass
else:
if t[i] in t[i+1:]:
n-=1
break
print(n)
|
cs |
❓ 정답은 ??
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
# 그룹단어는 연속된 문자 뒤에 또 나오면 안된다
# 그룹단어 갯수 출력
import sys
n=int(sys.stdin.readline())
cnt=0
for _ in range(n):
t=list(input()) #sys로 받으면 '\n'까지 리스트에 들어감
t_check=[ ] #거쳐간 문자열 리스트
for i in range(1,len(t)):
#<< 조건1. 연속 vs 비연속 >>
if t[i]==t[i-1]: #연속
continue
else: #비연속
t_check.append(t[i-1]) #거쳐간 문자열 리스트에 넣기
#<<조건2. new 단어 vs old 단어>>
if t[i] not in t_check: #이전에 안나온 new단어
continue
else: #이전에 나온 old단어
cnt+=1
break #중단
print(n-cnt) #총 개수에서 old단어개수 빼기
|
cs |
💯 풀이 과정
if 조건 식이 복잡해서 틀렸엇던 것 같아 주석을 달아가면서 차근차근 써보니 딩동댕!🔔
😎오늘의 한줄평: 현재 나는 못 풀었어도 미래의 내가 잘 풀겠지
(DFS, BFS도 그렇....겠지?? 🥺)
728x90
'😁 빅데이터 문제 풀기 & Study > - BAEKJOON 문제' 카테고리의 다른 글
| [1929번] 소수 구하기 / python3 (다시 만난 소수) (0) | 2021.11.11 |
|---|---|
| [1181번] 단어 정렬 / python3 (2차원 리스트 활용하기) (0) | 2021.11.09 |
| [1003번] 피보나치 함수 / python3 (def 없이. 또 다시 마주친 메모리초과) (0) | 2021.11.09 |
| [10757번] 큰 수 A+B /python3 (이제는 easy해져 부려따) (0) | 2021.11.09 |
| [2750번] 수 정렬하기 / python3 (feat. 어려운 문제 이후는) (0) | 2021.11.09 |