IT보안관의 공부 클라우드

[구름 Level2]인싸가 되고 싶은 민수 본문

코딩 테스트/구름

[구름 Level2]인싸가 되고 싶은 민수

ㅡㅡㅡㅡㄷ 2022. 6. 16. 23:03

https://level.goorm.io/exam/49089/%EC%9D%B8%EC%8B%B8%EA%B0%80-%EB%90%98%EA%B3%A0-%EC%8B%B6%EC%9D%80-%EB%AF%BC%EC%88%98/quiz/1

 

구름LEVEL

코딩테스트에서 가장 높은 비중을 차지하는 알고리즘 문제를 제작하고 풀이할 수 있는 온라인 저지 서비스입니다. 기업에서 선호하는 C, C++, 파이썬(Python), 자바(Java), 자바스크립트(Javascript) 이

level.goorm.io

import sys, math
input = sys.stdin.readline()

def check(n):
	for i in range(2, int(math.sqrt(n))+1):
		if n % i == 0:
			return i			
	
	return n

a,b = map(int,input.split())
if a==b:
	print(check(a))
else:
	print(2)

* n/2 의 수까지 약수를 검사할 경우, 시간 복잡도에서 통과하지 못함.

-> math.sqrt를 통해 제곱근까지만 약수인지 검사하도록 수정.

 

처음에는 약수를 숫자 별로 계산하여 배열 약수 값 index에 1씩 더하여 배열의 최대 값 index를 찾아서 출력해줬는데,

큰수가 나올경우 out of memory 에러 발생.

 

그러던 중 숨어있는 규칙 발견.

a=b 이면, 약수 중 가장 작은 수 출력(1 제외)
a!=b 이면, 2 출력

 

'코딩 테스트 > 구름' 카테고리의 다른 글

[구름 Level2]방 탈출하기  (0) 2022.06.19
[구름 Level2]1등과 2등  (0) 2022.06.19
[구름 Level2]두부자르기  (0) 2022.06.16
[구름 Level2]거울 단어  (0) 2022.06.16
[구름 Level1]뱀이 지나간 자리  (0) 2022.06.16
Comments