알고리즘/프로그래머스
-
[Programmers] 귤 고르기 _Python알고리즘/프로그래머스 2022. 11. 26. 00:02
문제 https://school.programmers.co.kr/learn/courses/30/lessons/138476 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 from collections import Counter def solution(k, tangerine): answer = 0 # [1] 자료 변환 count = sorted(Counter(tangerine).items(),reverse = True, key = lambda x : x[1]) # [2] 최소 종류 계산 for key, value in count: if k >> Coun..
-
[Programmers] 햄버거 만들기 _Python알고리즘/프로그래머스 2022. 11. 24. 01:24
문제 https://school.programmers.co.kr/learn/courses/30/lessons/133502 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 def solution(ingredient): s = [] cnt = 0 for i in ingredient: s.append(i) # [-4:] -> 끝에서 네번째 원소부터 끝까지 if s[-4:] == [1, 2, 3, 1]: cnt += 1 for i in range(4): s.pop() return cnt
-
[Programmers] 푸드 파이트 대회 _Python알고리즘/프로그래머스 2022. 11. 24. 00:40
문제 https://school.programmers.co.kr/learn/courses/30/lessons/134240 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 def solution(food): answer = '' arr1 = [] for i in range(len(food)) : foodLen = food[i] // 2 for _ in range(foodLen) : arr1.append(i) stri = "".join(str(s) for s in arr1) strin = stri[::-1] answer = stri + "0" + stri..
-
[Programmers] 숫자 카드 나누기 _Python알고리즘/프로그래머스 2022. 11. 23. 00:00
문제 https://school.programmers.co.kr/learn/courses/30/lessons/135807 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 from math import gcd # 리스트 내 최대 공약수 구해줌 def get_gcd(arr): g = arr[0] for i in range(1,len(arr)): g = gcd(g,arr[i]) return g def solution(arrayA, arrayB): # 첫 번째 조건, 두 번째 조건 둘다 아닐때 res = 0 # 최대공약수 가져옴 A, B = get_gcd(a..
-
[Python] 진수 변환하기 (숫자 <-> 문자열) bin(), oct(), hex(), foramt()알고리즘/프로그래머스 2022. 11. 4. 14:44
1. 다른 진수 숫자로 표현하기 파이썬에서 숫자는 기본적으로 10진수로 표현되기 때문에 다른 진수를 표현하려면 앞에 접두어를 붙여야 한다. // 2진수 : 0b >>> 42 == 0b101010 True // 8진수 : 0o >>> 42 == 0o52 True // 16진수 : 0x >>> 42 == 0x2a True 2. 진수 변환하기 (숫자 -> 문자열) 파이썬의 기본 내장함수 bin(), oct(), hex() 를 이용한다. // 2진수를 문자열로 변환 >>> bin(42) '0b101010' // 8진수를 문자열로 변환 >>> oct(42) '0o52' // 16진수를 문자열로 변환 >>> hex(42) '0x2a' 인자는 10진수이든 2진수이든 상관없이 문자열로 변환해준다. >>> bin(0b1..