(11653) 소인수분해
N = int(input())
start = 2
result = []
while start <= N:
if N % start == 0:
result.append(start)
N = N // start
else:
start += 1
for i in result:
print (i)
시간이 좀 많이 걸리긴 한 풀이지만 풀이를 보면
참고 : 참고 블로그
(3009) 네 번째 점
a, b = map(int, input().split())
c, d = map(int, input().split())
e, f = map(int, input().split())
if a == c:
x = e
elif a == e:
x = c
else:
x = a
if b == d:
y = f
elif b == f:
y = d
else:
y = b
print(x, y)
직사각형의 점 형성 과정을 직관적으로, 논리에 맞게 if, elif, else 를 이용해서 풀었다. 어쨌든 점 간의 위치가 같으면 남은 점은 두 점이 될테니까 각 모든 경우의 수를 if 처리 해주기. 나중에 새로운 방법을 찾아내면 다시 풀어봐야겠다.
참고 블로그