본문 바로가기

알고리즘149

programmers: 이진 변환 반복하기 https://school.programmers.co.kr/learn/courses/30/lessons/70129 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def solution(s): answer = [] cnt = 0 zero = 0 while True: if s == "1": break zero = zero + s.count("0") s = s.replace("0", '') s = bin(len(s))[2:] cnt +=1 answer = [cnt,zero] return answer 2022. 10. 19.
programmers: 최솟값 만들기 https://school.programmers.co.kr/learn/courses/30/lessons/12941 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 약간의 상식이 있어야 되는 문제이긴 한데... 문제에서 최솟값을 구하기 위해선, 한 list에 최솟값과, 다른 한 list에 최댓값이 곱해져야 최솟값이 나온다는 걸 알 수 있다 처음에 재귀로 접근했다가 식이 길어지길래 고민했던 문제.. def solution(A,B): answer = 0 A.sort() B.sort(reverse=True) for i in range(len(A)): answer+.. 2022. 10. 18.
programmers: 최대공약수와 최소공배수 https://programmers.co.kr/learn/courses/30/lessons/12940# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def solution(n, m): answer = [] # 최대공약수 for i in range(min(n,m),0,-1): if n%i ==0 and m%i==0: answer.append(i) break # 최소공배수 for i in range(max(n,m),n*m+1): if i%n == 0 and i%m == 0: answer.append(i) break return answer 2022. 10. 18.
programmers: JadenCase 문자열 만들기 https://school.programmers.co.kr/learn/courses/30/lessons/12951 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 다른 언어는 어떨지 모르겠지만, 파이썬엔 capitalize()라는 내장함수가 있는데, 이는 문자의 단어가 시작할 때 마다 첫글자를 대문자로 바꾸어 준다! def solution(s): arr = [] s=s.split(' ') for i in range(len(s)): s[i]=s[i].capitalize() arr.append(s[i]) if i != len(s) -1: arr.append('.. 2022. 10. 17.
programmers: 최댓값과 최솟값 https://school.programmers.co.kr/learn/courses/30/lessons/12939 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 단순 구현문제. split을 이용하여 ' '를 기준으로 잡아 list로 변형 시킨 뒤, int로 바꿔 max와 min값을 계산하여 넣어줬다. def solution(s): s=s.split(' ') for i in range(len(s)): s[i] = int(s[i]) answer = str(min(s)) + ' ' + str(max(s)) return answer 2022. 10. 16.
programmers: 나누어 떨어지는 숫자 배열 https://school.programmers.co.kr/learn/courses/30/lessons/12910 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def solution(arr, divisor): answer = [] arr.sort() read = False for i in range(len(arr)): if arr[i] % divisor ==0: answer.append(arr[i]) read= True if read == False: answer.append(-1) print(answer) return answer 2022. 10. 15.