21.1.26

커피 내리는 그냥 사람·2021년 1월 26일
0

백준 퀴즈 도전

목록 보기
1/7

(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)

시간이 좀 많이 걸리긴 한 풀이지만 풀이를 보면

  • input으로 정수 넣기
  • 가장 작은 소수 2로 시작. result로 소인수 집어넣기
  • while 반복문으로 시작. 조건은 스타트값이 N과 같아지면 종료.
  • if문 이용하여서 나머지가 0일 때 목록에 추가되는 것으로 하고 아닐 경우 +1 시키기.
  • 이후 리스트의 목록을 프린트 해야하므로 for 반복문 취함.

참고 : 참고 블로그

(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 처리 해주기. 나중에 새로운 방법을 찾아내면 다시 풀어봐야겠다.
참고 블로그

profile
커피 내리고 향 맡는거 좋아해요. 이것 저것 공부합니다.

0개의 댓글

관련 채용 정보