https://www.acmicpc.net/problem/20125
n = int(input())
result = []
answer = []
for _ in range(n):
div = []
li = input()
for i,v in enumerate (li):
if v=='*':
div.append(i)
if len(div) >0:
result.append(div)
answer.append(result[1].index(result[0][0]))
answer.append(len(result[1])-result[1].index(result[0][0])-1)
cnt = 0
for i in result[2:]:
if len(i)>1:
answer.append(cnt)
l, r = i[0], i[1]
right = 0
left = 0
for leg in result[2+cnt:]:
if len(leg) > 1:
right+=1
left+=1
else:
if leg[0]==l:
left+=1
else:
right+=1
answer.append(left)
answer.append(right)
break
else:
cnt+=1
for i in answer:
print(i,end=" ")
테스트 예제는 맞았는데, 전체적으로는 틀렸다고 나온다.. 왜지?
문제를 풀다가, 꼼수를 부려서 해보려고 했는데 그게 안됐다.
우선 나는
각 행마다 *가 있는 index를 담은 리스트를 만들었다.
처음에 머리, 허리, 팔, 다리 가 있을테니..
머리, 팔까지는 0번째(머리), 1번째(팔) 로 구할 수 있을 것 같았고
허리부터는 어짜피 너비가 1이니까 길이가 1일 때를 count를 해서 허리라고 하고,
길이가 2가 되는 순간 다리 부분이라고 생각 되어서, 그 때 l, r 값을 정해두고 왼쪽 다리, 오른쪽 다리를 count하려고 했다.
하하 그러나 틀린 답.
다른 사람 답
이런 문제를 빡구현 문제라고 하는 건가?
머리, 몸통, 허리, 다리 순으로 쪼개서 함수를 만든 후, 하나하나 count하는 풀이가 많았다.
'코딩테스트' 카테고리의 다른 글
[Python] 섹션 8 DP(동적계획법) - 최대 부분 증가수열 (0) | 2024.05.23 |
---|---|
[Python] 백준 2775 - 부녀회장이 될테야 (0) | 2024.05.22 |
[Python] 백준 - 제로 (0) | 2024.05.21 |
[Python] 백준 - 연구소 (0) | 2024.05.18 |
[Python] 백준 - 영단어 암기는 괴로워 (0) | 2024.05.16 |