졸업작품한다고 준비는 못했으나.. 경험삼아 한번 나가본 작은 지역대회.
총 3문제, 90분 시간제한으로 출제되었는데 코딩테스트 문제를 거의 풀어보질 않아서 많이 어려웠다.
첫번째는 문자열 관련, 두번째는 당시엔 몰랐는데 DFS유형이라하고, 세번째는 아예 접근을 못해서 기억도 안난다.
좋은 경험 했다고 치자.. 저작권 문제로 문제 내용 생략.
풀이1
n, k = map(int, input().split())
arr = list(map(int, input().split()))
idx, cnt = 0, 0
for _ in range(n // 3):
if sum(arr[idx:idx + 3]) >= k:
cnt += 1
idx += 3
print(cnt)
풀이2
n, m = map(int, input().split())
visited = [[False] * m for _ in range(n)]
arr = []
for _ in range(n):
arr.append(list(map(int, input().split())))
def sol(i, j, num):
if i < 0 or i >= n or j < 0 or j >= m or visited[i][j]:
return
if num == 1:
visited[i][j] = True
sol(i, j - 1, num)
sol(i, j + 1, num)
elif num == 2:
visited[i][j] = True
sol(i - 1, j, num)
sol(i + 1, j, num)
elif num == 3:
visited[i][j] = True
sol(i, j - 1, 1)
sol(i, j + 1, 1)
sol(i - 1, j, 2)
sol(i + 1, j, 2)
cnt = 0
for i in range(n):
for j in range(m):
sol(i, j, arr[i][j])
for i in range(n):
for j in range(m):
if not visited[i][j]:
cnt += 1
print(cnt)