아 .. 얼마 전에 파이썬으로 비트연산하는 거 봐서 가뿐하게 할 수 있을 줄 알았는데..
IP주소 개념 학습이 안되어서 못 푸는 건가.. 하..
/ 제출 1 /
n = int(input())
ip = []
for i in range(n):
ip.append(list(map(int, input().split('.'))))
ipCopy = ip.copy()
ipAnd = [ipCopy.pop()]
while ipCopy:
x = ipAnd.pop()
y = ipCopy.pop()
z = []
for i in range(len(x)):
z.append(x[i] & y[i])
ipAnd.append(z)
# ipAnd : 주소
address = ipAnd[0]
print(*map(str,address), sep=".")
max = [0,0,0,0]
for i in range(len(ip)):
new = []
for j in range(len(address)):
new.append(address[j] ^ ip[i][j])
if new > max:
max = new
mask = [255,255,255,255]
for i in range(len(max)):
mask[i] = max[i]^mask[i]
print(*map(str,mask), sep=".")
장렬하게 틀렸습니다.
예제까지는 답이 맞았는데, 확신 없이 제출했더니 바로 오답 처리 받네요.
해당 문제는 많이들 안 푸시고 특히 파이썬 풀이는 더 없어서 보고 학습도 안 될 것 같고, 다음에 시간 있을 때 여유 두고 봐야겠습니다.
'CodingTest > Baekjun Online Judge' 카테고리의 다른 글
[ BOJ ] 스타트와 링크 (0) | 2022.07.19 |
---|---|
[ BOJ ] 구슬 탈출 2 (0) | 2022.07.19 |
[ 백준 / BOJ ] 나3곱2 (0) | 2022.07.01 |
[ 백준 / BOJ ] 2504 괄호의 값 (0) | 2022.07.01 |
[ 백준 / BOJ ] 1966 프린터 큐 (0) | 2022.07.01 |