max = 0
n = 0
for i in range(9):
data = int(input())
if data > max:
max = data
n = i
print(max, n + 1)
# https://www.acmicpc.net/problem/1316
n = int(input())
alpha = [0] * 26
data = []
result = 0
for i in range(n):
data.append(input())
for i in range(n):
a = list(data[i])
last = a[0]
alpha[int(ord(last)) - 97] = 1
for j in range(1, len(a)):
if last == a[j]:
continue
if alpha[int(ord(a[j])) - 97] == 0:
last = a[j]
alpha[int(ord(a[j])) - 97] = 1
else:
result -= 1
break
alpha = [0] * 26
result += 1
print(result)
alpha = [0] * 26 사용햇던 알파벳인지 검사하는 배열
사용하면 1로 바꿔줌
alpha[int(ord(last)) - 97] = 1
for 문으로 바로 전에 지나간 문자를 last로 둔다.
last = a[j]
그래서 last와 현재 문자를 비교해 같으면 continue 다르면 썻던 알파벳인지 검사한다.
처음 사용하는 알파벳이면
if alpha[int(ord(a[j])) - 97] == 0:
last를 변경하고 썻다고 표시해준다 =1
중복된 알파벳이면 반복문에서 나온다.
몰라.....
def possible(result):
for x, y, a in result:
if a == 0:
if y == 0 or [x - 1, y, 1] in result or [x, y, 1] in result or [x, y - 1, 0] in result:
continue
else:
return False
else:
if [x, y - 1, 0] in result or [x + 1, y - 1, 0] in result or (
[x - 1, y, 1] in result and [x + 1, y, 1] in result):
continue
else:
return False
return True
def solution(n, build_frame):
result = []
for x, y, a, b in build_frame:
if b == 0:
result.remove([x, y, a])
if not possible(result):
result.append([x, y, a])
else:
result.append([x, y, a])
if not possible(result):
result.remove([x, y, a])
return sorted(result)
print(solution
(5,
[[0, 0, 0, 1], [2, 0, 0, 1], [4, 0, 0, 1], [0, 1, 1, 1], [1, 1, 1, 1], [2, 1, 1, 1], [3, 1, 1, 1], [2, 0, 0, 0],
[1, 1, 1, 0], [2, 2, 0, 1]]
)
)
안녕하세요, 김덕우입니다! 아스키코드를 이용해서 푸는 방법이 정말 참신하네요!! 그리고 마지막 문제를 푸시다니 정말...대단합니다....너무 고생하셨어요 오늘!! 내일도 화이팅입니다~