분류 전체보기 65

[level 1] 과일 장수

https://school.programmers.co.kr/learn/courses/30/lessons/135808 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 핵심포인트 시간이 많이 걸렸다. for문에서 index를 생각하는 것이 관건이었다. ✅stack으로 풀수도 있지만 내림차순으로 정렬해서 굳이 stack안만들고 for문을 m만큼 돌면서 최소 원소를 구해서 바로 answer에다가 +=하는 방식으로 품 def solution(k, m, score): answer = 0 score.sort(reverse=True) #거꾸로 순서대로 정렬 #print(..

[level 1] 푸드 파이트 대회

https://school.programmers.co.kr/learn/courses/30/lessons/134240 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 생각보다 간단한 문제였다. 완전 구현! def solution(food): answer = '' for i in range(1,len(food)): if food[i]!=1: answer+=str(i)*(food[i]//2) answer_reverse=answer[::-1] answer+="0" answer+=answer_reverse return answer

[level 1] 햄버거 만들기

https://school.programmers.co.kr/learn/courses/30/lessons/133502 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 핵심포인트 ✅ stack 구조를 사용해서 [1,2,3,1] 과 같은 순간에 pop()시켜주기! 이때 원래의 ingredient가 아닌 스택구조에서 pop시켜줌으로써 count를 계산해준다. (자꾸 원본에서 pop시키는 걸 생각하다보니 어려웠다..) def solution(ingredient): count=0 ingredients=[] order=[1,2,3,1] for i in ingredien..

[level 1] 옹알이(2)

https://school.programmers.co.kr/learn/courses/30/lessons/133499 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 핵심포인트 ✅for문을 돌려서 babbling안에 word=["aya","ye","woo","ma"] 원소가 포함되어 있는지를 확인=> 여기서 나머지 문자열 원소들도 word안에 있는 원소로 구성되어야 한다는 점을 생각해보면 count()를 쓸 필요가 없음 ✅연속해서 발음을 할 수는 없는 것을 고려=> 연속으로 이뤄져있지 않는경우 한에서 공백으로 변환해줌. 그리고 완전한 공백으로 최종변환될 경우..

[level 1] 콜라 문제

https://school.programmers.co.kr/learn/courses/30/lessons/132267 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 간단한 문제인줄 알았는데 생각보다 시간이 많이 소요되었다. 문제를 제대로 파악하는게 핵심이다. def solution(a, b, n): answer = 0 # 단, 보유 중인 빈 병이 2개 미만이면, 콜라를 받을 수 없다. # 빈 병의 개수가 콜라를 받기 위해서 필요한 개수보다 크면 반복한다 while (n >= a): remain_bottle = n % a n = (n//a) * b # 마트에..

[level 1] 숫자 짝꿍

https://school.programmers.co.kr/learn/courses/30/lessons/131128 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이 문제도 크게 두 부분으로 나눠서 풀어본다. 1) count() 함수를 사용해서 개수를 count해주고 원소가 두 정수에 존재할 경우에 더 작은 걸 take하기 => 위에 방법을 안하고 dictionary를 사용해서 해주었다. count는 복잡할것같아서.. 오히려 dictionary가 한번에 count하기가 더 편한 것 같다. (그치만 count를 사용한 방법도 잘 봐두자.) 2) 모아진 공통..

[level 1] 성격 유형 검사하기

https://school.programmers.co.kr/learn/courses/30/lessons/118666 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 최근에 인기많은 MBTI관련해서 카카오에서 문제가 나왔나보다. 근데 문제는 재미있는데 푸는건 안 재미있는..🤔 문제를 짧게 구분해서 풀어보자면 1) choices에 따라서 각 유형에 점수를 더해줌 2) 전체 합산에 따라서 result를 뽑아냄(이때 같은 카테고리에 있는 점수가 동점일 경우에 사전순으로 빠른걸로 return해야함 ) # 틀린 풀이 def solution(survey, choices..

전략 다시 세우기

우선 상반기에 최대한 대학원이든 취업이든 결과를 내보이도록 할 것이다. 무기력하게 있으면 안된다고 생각한다. 정말 꾸준히 무언가를 해서 성취를 해서 내가 가진 공백기를 최소한으로 하는 방향으로 나아가고 싶다. 앞으로 '코테문제풀기+웹공부+있는대로 지원하기' 전략을 세울 계획이다..! - 코테는 현재 프로그래머스에 있는 문제들을 level1부터 풀고 있는데 level2까지는 약 120문제정도 남았다. 하루에 3-4개정도 푼다면 그래도 6월안에는 level2까지는 완료할수 있겠군.. - React.js공부를 어쨋든 취준한다면 하긴 해야한다. 개념을 하나하나 알아가면서 공부해야겠다. - 최근에 입시에서 된통 당한 기분이다.. 너무 안일했다고 느끼고 충분히 반성했다..ㅠ 대학원 정보와 취업 정보 둘다 찾아보는 ..

[level 1] 신고 결과 받기

https://school.programmers.co.kr/learn/courses/30/lessons/92334 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def solution(id_list, report, k): answer = [0] * len(id_list) reported = {x: 0 for x in id_list} # 딕셔너리 사용 for r in set(report): # 중복방지를 위해 set 사용 a,b = r.split() reported[b] += 1 # 신고당한 유저들을 count하기 위해 for r in set(report)..

[level 1] 최소직사각형

https://school.programmers.co.kr/learn/courses/30/lessons/86491 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 아이디어가 안 떠올라서 어떻게 풀어야될지 전전긍긍했었다.. 생각보다 되게 간단한 아이디어였고, 한 직사각형이 있으면 가로, 세로 두 길이 중 더 긴거를 w로 몰아서 넣은 다음에 w,h 리스트중 가장 max인 값을 서로 뽑으면 되는 풀이다. def solution(sizes): w=[] h=[] for i in sizes: if i[0]>=i[1]: w.append(i[0]) h.append(i[1..