반응형
1. 문제
어떤 n 값이 들어왔을 때 n 값이 어떤 정수 x의 제곱인 경우 x+1의 제곱 값을 반환하고, 그렇지 않은 경우 -1을 반환하는 문제이다.
n 값 = 121 , 3 으로 테스트
def solution(n):
a = str(n ** 0.5)
if( a[(a.find("."))+1:] == '0' ):
answer = ( float(a) +1)**2
else:
answer = -1
return answer
나는 값을 가져온 후 이 값을 str으로 바꿔서 "." 을 찾고 이 "." 의 위치를 기준으로 뒤에 값이 0 인지 아닌지로 확인했다.
더 쉬운 방법도 있을 것 같다.
2.문제
array값을 [1, 5, 2, 6, 3, 7, 4] 을 받고 commands 값을 [[2, 5, 3], [4, 4, 1], [1, 7, 3]]을 이렇게 받는다 이 경우에
commands [2, 5, 3] 이
첫 번째 값은 array의 시작 위치 - 5
두 번째 값은 array가 끝나는 위치 - 3
세 번째 값은 이 array값을 정렬 한 값에서 3번째 값을 나타낸다.
처음에 이걸 하면 값은 [5,2,6,3]에서 정렬한 후
[2,3,5,6]에서 3번째 값을 뽑으면 값이 "5"가 나온다. 이 경우의 함수를 만드는 문제였다.
test 값 - array: [1, 5, 2, 6, 3, 7, 4] , commands:[[2, 5, 3], [4, 4, 1], [1, 7, 3]]
def solution(array, commands):
array=array
answer = []
for i in range(0,len(commands)):
a=sorted(array[ (commands[i][0])-1:(commands[i][1])] )
answer.append(a[(commands[i][2])-1])
return answer
나는 처음에 commands에 길이에 맞춰 for문을 돌게끔 했고
그다음 a라는 변수에 commands에 맞춰 array 값을 뽑아 온 다음에 sorted로 정렬했다.
그 후 값을 가져온 다음에 하나씩 꺼내는 작업을 하였다.
반응형
'Algorithm' 카테고리의 다른 글
[Algorithm] 2강 : 알고리즘 성능 평가란? (0) | 2020.10.13 |
---|---|
[Algorithm] python 괄호 변환 (kakao 2020 프로그래머스) (0) | 2020.09.15 |
[Algorithm] python문자열 압축(kakao 2020 프로그래머스) (0) | 2020.09.14 |
[Algorithm] 프로그래머스 K 번째 수 (0) | 2020.08.05 |
[Algorithm] 파이썬을 파이썬 답게 문법 사용하기(프로그래머스 참조) (0) | 2020.07.31 |