전체 글(141)
-
[프로그래머스][LV.0] 저주의 숫자 3 | python3
문제 링크: 저주의 숫자 3 문제 설명문제 설명3x 마을 사람들은 3을 저주의 숫자라고 생각하기 때문에 3의 배수와 숫자 3을 사용하지 않습니다. 3x 마을 사람들의 숫자는 다음과 같습니다.정수 n이 매개변수로 주어질 때, n을 3x 마을에서 사용하는 숫자로 바꿔 return하도록 solution 함수를 완성해주세요.제한사항- 1 ≤ n ≤ 100 문제 풀이저번에 풀었을 때 위의 코드로 하면 틀리고 아래 코드로 하면 맞았었는데 왜 그런지 확인을 안하고 넘어갔다.def solution(n): answer = 0 for i in range(1,n+1): if i%3 == 0: answer+=1 elif '3' in str(i): an..
2025.02.10 -
[프로그래머스][LV.0] 유한소수 판별하기 | python3
문제 링크: 유한소수 판별하기 문제 설명문제 설명소수점 아래 숫자가 계속되지 않고 유한개인 소수를 유한소수라고 합니다. 분수를 소수로 고칠 때 유한소수로 나타낼 수 있는 분수인지 판별하려고 합니다. 유한소수가 되기 위한 분수의 조건은 다음과 같습니다.- 기약분수로 나타내었을 때, 분모의 소인수가 2와 5만 존재해야 합니다.두 정수 a와 b가 매개변수로 주어질 때, a/b가 유한소수이면 1을, 무한소수라면 2를 return하도록 solution 함수를 완성해주세요.제한사항- a, b는 정수- 0 a ≤ 1,000- 0 b ≤ 1,000 문제 풀이def solution(a, b): answer = 0 c= min(a,b) for i in range(c,1,-1): if a%i..
2025.02.10 -
[프로그래머스][LV.0] 최빈값 구하기 | python3
문제 링크: 최빈값 구하기 문제 설명문제 설명빈값은 주어진 값 중에서 가장 자주 나오는 값을 의미합니다. 정수 배열 array가 매개변수로 주어질 때, 최빈값을return 하도록 solution 함수를 완성해보세요. 최빈값이 여러 개면 -1을 return 합니다제한사항0 array의 길이 0 ≤ array의 원소 문제 풀이딕셔너리로 해당 숫자가 몇번 나왔는지 기록하고 빼냄.리스트로 바꾸어서 count하는데서 시간복잡도가 올라갈 것 같음 내코드def solution(array): dict={} for i in array: if i not in dict: dict[i]=1 else: dict[i]+=1 max_freq..
2025.02.10 -
[프로그래머스][LV.2] 숫자의 표현 | python3
문제 링크: 숫자의 표현 문제 설명문제 설명Finn은 요즘 수학공부에 빠져 있습니다. 수학 공부를 하던 Finn은 자연수 n을 연속한 자연수들로 표현 하는 방법이 여러개라는 사실을 알게 되었습니다. 예를들어 15는 다음과 같이 4가지로 표현 할 수 있습니다.1 + 2 + 3 + 4 + 5 = 154 + 5 + 6 = 157 + 8 = 1515 = 15자연수 n이 매개변수로 주어질 때, 연속된 자연수들로 n을 표현하는 방법의 수를 return하는 solution를 완성해주세요.제한사항- n은 10,000 이하의 자연수 입니다. 문제 풀이연속된 숫자가 1로 시작할때, 2로 시작할 때,...이렇게 n일때까지 가기 때문에 for문으로 1부터 n까지 돌려준다(실질적으로는 n-1까지). n자기자신은 항상 포함되기 ..
2025.02.07 -
[프로그래머스][LV.2] 다음 큰 숫자 | python3
문제 링크: 다음 큰 숫자 문제 설명문제 설명자연수 n이 주어졌을 때, n의 다음 큰 숫자는 다음과 같이 정의 합니다.조건 1. n의 다음 큰 숫자는 n보다 큰 자연수 입니다.조건 2. n의 다음 큰 숫자와 n은 2진수로 변환했을 때 1의 갯수가 같습니다.조건 3. n의 다음 큰 숫자는 조건 1, 2를 만족하는 수 중 가장 작은 수 입니다.예를 들어서 78(1001110)의 다음 큰 숫자는 83(1010011)입니다.자연수 n이 매개변수로 주어질 때, n의 다음 큰 숫자를 return 하는 solution 함수를 완성해주세요.제한사항- n은 1,000,000 이하의 자연수 입니다. 문제 풀이n보다 큰 수 중 이진법으로 바꾸었을때 n의 이진수와 1의 갯수가 같은 수 중 가장 작은 수를 구하는 문제이다.처음..
2025.02.06 -
[프로그래머스][LV.2] 땅따먹기 | python3
문제 링크: 땅따먹기 문제 설명문제 설명땅따먹기 게임을 하려고 합니다. 땅따먹기 게임의 땅(land)은 총 N행 4열로 이루어져 있고, 모든 칸에는 점수가 쓰여 있습니다. 1행부터 땅을 밟으며 한 행씩 내려올 때, 각 행의 4칸 중 한 칸만 밟으면서 내려와야 합니다. 단, 땅따먹기 게임에는 한 행씩 내려올 때, 같은 열을 연속해서 밟을 수 없는 특수 규칙이 있습니다.예를 들면,| 1 | 2 | 3 | 5 || 5 | 6 | 7 | 8 || 4 | 3 | 2 | 1 |로 땅이 주어졌다면, 1행에서 네번째 칸 (5)를 밟았으면, 2행의 네번째 칸 (8)은 밟을 수 없습니다.마지막 행까지 모두 내려왔을 때, 얻을 수 있는 점수의 최대값을 return하는 solution 함수를 완성해 주세요. 위 예의 경우, ..
2025.02.06