Algorithm/Implement(14)
-
[PGM] Level.2 예상대진표
프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제설명N명의 참가자 번호 순서대로 대진을 수행할 때, 참가자번호 A와 참가자 번호 B가 몇번째 라운드에서 만나는지 반환 - 부전승은 발생하지 않는다- A번 참가자와 B번 참가자는 서로 붙기 전까지 항상 이긴다ex. N 8명, A 4번, B 7번 -> 3번째 라운드에서 만남 접근방법라운드가 올라갈수록 승자는 (번호+1)//2 로 다음 라운드에 진출 1라운드) 1 2 3 4 5 6 7 82라운드) 1 2 3 43라운드) 1 2 (만남)4라운드) ..
2025.04.03 -
[PGM] Level.2 N개의 최소공배수
프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제설명n개의 수의 숫자를 담은 배열 arr에서 이 수들의 최소공배수를 반환최소공배수란, 입력된 두 수의 배수 중 공통되는 가장 작은 숫자 접근방법유클리드 호제법으로 최대공약수 계산a와 b의 최소공배수 = a*b // 최대공약수(a,b) 코드설명[python]import mathdef solution(arr): lcm = arr[0] for num in arr[1:]: lcm = lcm * num // math.gcd(lcm, num) return lcm[Java]class Solution { // 최대공약수 GCD ..
2025.04.01 -
[PGM] Level.2 최소값 만들기
프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제설명길이가 같은 배열 A,B에서 자연수 1개를 뽑아 곱함 길이만큼 반복하며, 곱한 결과를 더한값이 최소가 되는 값 반환 ex.A = [1, 4, 2] , B = [5, 4, 4] 1,2,45,4,4 5,8,16=> 5+8+16 = 29 접근방법1. A 오름차순정렬, B 내림차순정렬2. 곱한 값을 누적해 반환 구현코드 [Python]def solution(A,B): sort_a=sorted(A) sort_b=sorted(B,reverse=True) #print(sort_a, sort_b) return sum(x*y for x,y in ..
2025.03.08 -
[PGM] Level.2 최댓값과 최솟값
프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제설명숫자로 이루어진 문자열 s에서 "최소값 최대값" 형태로 반환 접근방법1. 공백 기준 구분2. 숫자 치환3. 최소값 최대값 문자열 형태로 반환 코드구현[Python] ▶ Min(), Max()def solution(s): numbers = list(map(int,s.split())) return str(min(numbers))+" "+str(max(numbers)) # return f"{min(numbers)} {max(numbers)}"▶정렬def solution(s): numbers =s.split() n = [int(i)..
2025.03.08 -
[PGM] Level.2 점프와 순간이동
프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제 설명아이언 슈트로 N만큼 이동할 때 사용해야 하는 건전지 사용량의 최소값 반환 1. 현재위치에서 K칸 앞으로 점프(건전지 K만큰 사욤) 2. (현재까지 온 거리) * 2 만큼 순간이동(건전지 사용X) ex. N=1) 1//2 = 0, 1%2= 1 -> 1번 점프(1) => 1 N=2) 2//2 = 1, 2%2 =0 -> 1번 점프(1) 1번 순간이동(2) => 1 N=3) 3//2 = 1, 3%2 = 1-> 1번 점프(1) 1번 순간이동(2) 1번 점프 => 2 N=4) 4//2 = 2, 4%2 = 0 -> 1번 점프(1) 2번 순간이동(4) => 1..
2025.03.01 -
[PGM] Level.2 다음 큰 숫자
프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제 설명n의 다음 큰 숫자 = large_num1. large_num > n2. large_num과 n의 2진수의 1의 갯수 동일3. 조건 1,2를 만족하는 가장 작은 수 ex. 78(1001110) 의 large_num 은 83(1010011) 접근 방법1. n을 2진수 변환 후 1의 값 확인2. n을 1씩 증가시키며 이진수 1의 갯수 확인Java : Integer.bitCount(n)Python : bit(n).count('1') 구현코드[Java]class Solution { public int solution(int n) { int..
2025.02.27