우왕 벨로그 거의 1년만이다. 다시 꾸준한 글쓰기 화이팅해보자
프로그래머스 예전엔 level1부터 있었는데 lv0부터 있네 이젠...
계묘년이라 토끼를 그려봤다 아주 23년같고 좋다.
230126
문제 설명
정수 num1과 num2가 매개변수로 주어집니다. 두 수가 같으면 1 다르면 -1을 retrun하도록 solution 함수를 완성해주세요.
제한사항
0 ≤ num1 ≤ 10,000
0 ≤ num2 ≤ 10,000
입출력 예
num1 | num2 | result |
---|---|---|
2 | 3 | -1 |
11 | 11 | 1 |
7 | 99 | -1 |
def solution(num1, num2):
answer= 1 if num1 - num2 == 0 else -1
return answer
우왕...쉬워서 재밌다
def solution(num1, num2):
return -1 if num1 != num2 else 1
변수를 안 만든다.
다른 문제를 풀다 알게된 사실은
변수를 저장하기 위해서는 비용이 들며 비용이 늘게 되면 시스템 성능의 저하가 올 수 있기 때문이다. 또한 함수화 된 코드는 변수에 담지 않더라도 return 값으로 주면, 차후에 x = solution(someting) 같은 형태로 불러와서 사용이 가능하니, 재사용이 없는 함수 내 지역변수는 굳이 변수에 담지 않는 것을 추천한다고 한다.
230127
문제 설명
정수가 담긴 배열 array와 정수 n이 매개변수로 주어질 때, array에 n이 몇 개 있는 지를 return 하도록 solution 함수를 완성해보세요.
제한사항
1 ≤ array의 길이 ≤ 100
0 ≤ array의 원소 ≤ 1,000
0 ≤ n ≤ 1,000
입출력 예
array | n | result |
---|---|---|
[1, 1, 2, 3, 4, 5] | 1 | 2 |
[0, 2, 3, 4] | 1 | 0 |
def solution(array, n):
return array.count(n)
특정 요소의 개수를 구하기 위해서는 count 함수를 이용하면 된다.
230129
문제 설명
정수 n이 매개변수로 주어질 때 n의 각 자리 숫자의 합을 return하도록 solution 함수를 완성해주세요
제한사항
0 ≤ n ≤ 1,000,000
def solution(n):
answer = 0
while n > 0:
answer += n % 10
n //= 10
return answer
ㅎ..그려..정석이 최고지..
#1
def solution(n):
return sum(int(i) for i in str(n))
#2
def solution(n):
return sum(list(map(int, str(n))))
이야... 다들 string 형태로 바꾸고 다시 int로 바꿔서 풀었네
보고 익히고 다음에 풀 때 이용하자!!!
230201
숫자 찾기
문제 설명
정수 num과 k가 매개변수로 주어질 때, num을 이루는 숫자 중에 k가 있으면 num의 그 숫자가 있는 자리 수를 return하고 없으면 -1을 return 하도록 solution 함수를 완성해보세요.
제한사항
0 < num < 1,000,000
0 ≤ k < 10
num에 k가 여러 개 있으면 가장 처음 나타나는 자리를 return 합니다.
def solution(num, k):
num_list = list(map(int, str(num)))
return num_list.index(k)+1 if k in num_list else -1
숫자형태에서는 못 찾기 때문에 리스트에 넣고 index함수를 통해 자리를 구하려고 했다. 이를 위해 바로 위 문제에서 풀었던 map을 이용했다.
list(map(int, str(num)))
를 두 번 쓰려고 했으나 차라리 변수를 생성하는 것이 더 낫다고 생각해 변수를 생성해 풀었다.
def solution(num, k):
return -1 if str(k) not in str(num) else str(num).find(str(k)) + 1
나처럼 리스트로 바꿔 할 수도 있지만(list(map)을 써보고 싶었음..)
문자열로 만든 상태에서 찾는 것도 가능하다.
def solution(num, k):
try:
return str(num).index(str(k)) + 1
except ValueError:
return -1
예외 처리를 이용해 값이 없다고 오류가 뜨면 ~도 설정가능하구나.
예외 처리 배우긴 했는데 딱히 쓸 필요가 없다 생각해 많이 사용하지 않았는데 이럴 때 유용하게 쓰이는구나. not in 대신 쓰는 것으로 가능하니 기억해두자.
230201
문제 설명
정수 배열 array가 매개변수로 주어질 때, 가장 큰 수와 그 수의 인덱스를 담은 배열을 return 하도록 solution 함수를 완성해보세요.
제한사항
1 ≤ array의 길이 ≤ 100
0 ≤ array 원소 ≤ 1,000
array에 중복된 숫자는 없습니다.
입출력 예
array | result |
---|---|
[1, 8, 3] | [8, 1] |
[9, 10, 11, 8] | [11, 2] |
def solution(array):
return [max(array), array.index(max(array))]