목록전체 글 (69)
김찬양의 개발일지
푸드 파이트 대회 https://school.programmers.co.kr/learn/courses/30/lessons/134240 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이과정 물을 제외한 나머지 음식을 2로 나눈 몫만큼 배분하고, 물을 둔 다음 그것을 뒤집어 재배분하면 된다. 정답 def solution(food): foodline = '' for i, s in enumerate(food[1:]): foodline += str(i+1)*(s//2) answer = foodline + '0' + foodline[::-1] return a..
https://school.programmers.co.kr/learn/courses/30/lessons/135808 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이과정 문제만 보면 굉장히 복잡해보이지만 사실 간단한 문제다. 순서대로 정렬한다음, 왼쪽부터 4개씩 포장하고 최솟값과 m을 곱하면 된다. k를 따로 넘지않으므로 쓸모가 없다. 첫 항이 최솟값이겠지만 문제대로 min을 사용해 풀어보았다 정답 def solution(k, m, score): answer = 0 score = sorted(score, reverse=True) for i in r..
https://school.programmers.co.kr/learn/courses/30/lessons/136798 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이과정 먼저 약수의 갯수가 필요하기떄문에 약수를 만드는 함수가 필요하다. 약수를 만드는 방법은 널리 알려져있다. 대표적인 방법이 약수가 대칭적이라는것을 이용해서 1부터 제곱근까지 for를 돌려서 한쪽을 출력하고, 그 수로 나눈 값인 반대쪽을 출력한다. 이렇게만 하면 제곱수는 제곱근이 두번 들어가기때문에 set으로 중복을 제거해준다. 이번엔 약수의 갯수가 필요하기때문에 len을 씌워서 리턴..
https://school.programmers.co.kr/learn/courses/30/lessons/138477 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이과정 명예의 전당에 하나하나 저장하고 가장 낮은순위를 제거하며 매 k등을 리턴시키면 된다. 정답 def solution(k, score): answer = [] 명예의_전당 = [] for num in score: 명예의_전당.append(num) 명예의_전당.sort() if len(명예의_전당)>k: 명예의_전당.pop(0) answer.append(명예의_전당[0]) return ..
https://school.programmers.co.kr/learn/courses/30/lessons/140108 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이과정 que처럼 list로 변환하고 앞쪽부터 하나씩 뺴가면서 문제대로 x를 저장하고 저장하고 글자수를 센 다음에 같아지는 순간 문자열 갯수에 1을 더하고 처음으로 돌아간다. 정답 def solution(s): answer = 0 s = list(s) while s: x = s.pop(0) same = 1 different = 0 while s: temp = s.pop(0) if x ==..
https://school.programmers.co.kr/learn/courses/30/lessons/142086 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이과정 현재 내 영역까지 자른다음 find로 찾으면 없을 떄 -1이 출력된다. 인덱싱은 0부터 시작이니 나오지않는 글자 .을 추가해서 find하면 된다. 정답 solution = lambda s: [('.'+s[:idx][::-1]).find(char) for idx, char in enumerate(s)]