https://swexpertacademy.com/main/main.do
N= 4일 때 예시를 하나 만들어 그걸 토대로 풀었다.
list를 이용해 풀었는데 열(행열할 때 열)로 풀면 어렵기 때문에 행으로 바꿨다.
예를 들어
N | |
0 | 1 |
2 | 1 |
S |
를
N | 0 | 2 | S |
1 | 1 |
로 바꿔 풀었다.
내 코드는 아래와 같다.
- 63,524 kb메모리
- 243 ms실행시간
for t in range(1,11):
N = int(input())
it_arr = []
for i in range(N):
it_arr.extend(input().split())
re_arr = []
for i in range(N):
p = [it_arr[i+N*k]for k in range(N)]
re_arr.append(p)
for k in range(N):
for i in range(N):
if re_arr[k][i]=='1':
break
elif re_arr[k][i]=='2':
re_arr[k][i]='0'
for k in range(N):
for i in range(N-1,-1,-1):
if re_arr[k][i]=='2':
break
elif re_arr[k][i]=='1':
re_arr[k][i]='0'
for k in range(N):
for i in range(re_arr[k].count('0')):
re_arr[k].remove('0')
result = 0
for k in range(N):
for i in range(len(re_arr[k])-1):
if re_arr[k][i] == '1'and re_arr[k][i+1] == '2':
result+=1
print("#{} {}".format(t,result))
이번 문제는 좀 어렵다.
그래도 중간에 오류 없이 차근차근 잘 푼 것 같아 기분 좋다.
'Python > code problem' 카테고리의 다른 글
[sw expert academy] 10570. 제곱 팰린드롬 수 (0) | 2022.01.27 |
---|---|
[sw expert academy] 12368. 24시간 (0) | 2022.01.27 |
[sw expert academy] 5601. [Professional] 쥬스 나누기 (0) | 2022.01.25 |
[sw expert acadmey] 10505. 소득 불균형 (0) | 2022.01.25 |
[sw expert academy] 1225. [S/W 문제해결 기본] 7일차 - 암호생성기 (0) | 2022.01.25 |