프로그래머스
-
[2021 KAKAO BLIND RECRUITMENT] 신규 아이디 추천코딩테스트 연습 2024. 1. 4. 11:46
10:48 시작, 11:39 정답! 문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/72410?language=python3 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 def solution(new_id): answer = '' # 1단계 new_id = new_id.lower() # 2단계 not_available = [i for i in '~!@#$%^&*()=+[{]}:?,/'] for s in new_id: if s not in not_available: answer+..
-
[PCCE 기출문제] 10번 / 데이터 분석카테고리 없음 2023. 12. 29. 13:05
11:51 시작/ 12:10 코드/ 12:50 완료 문제 설명 제한사항 입출력 예 및 설명 문제 풀이 def solution(data, ext, val_ext, sort_by): answer = [] col_dict = {'code':0, 'date':1, 'maximum':2, 'remain':3} ext_idx = col_dict[ext] sort_idx = col_dict[sort_by] sort_dict = {} for i, d in enumerate(data): if d[ext_idx] < val_ext: sort_dict[d[sort_idx]] = i keylist = sorted(sort_dict) for key in keylist: answer.append(data[sort_dict[key..
-
[2021 카카오 채용연계형 인턴십] 숫자 문자열과 영단어코딩테스트 연습 2023. 12. 26. 12:08
11:33 시작, 11:48 끝 문제 설명 s 문자열(영어, 숫자 조합)이 들어오면 영어로 된 부분을 숫자로 바꿔서 return을 해야한다. 제한사항 입출력 예 및 설명 문제 풀이 def solution(s): answer = 0 dict1={'zero':'0', 'one':'1', 'two':'2', 'three':'3', 'four':'4', 'five':'5', 'six':'6', 'seven':'7','eight':'8', 'nine':'9'} keys = list(dict1.keys()) idx = 0 for _ in range(len(dict1)): s = s.replace(keys[idx], dict1[keys[idx]]) idx+=1 answer = int(s) return answer 코..
-
[2022 KAKAO TECH INTERNSHIP] 성격 유형 검사하기카테고리 없음 2023. 12. 21. 14:27
10:29 시작 11:26 끝 문제 확인 https://school.programmers.co.kr/learn/courses/30/lessons/118666 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명과 입출력 예시 및 설명은 직접 읽고 이해해야할 것 같다. 근데 위 링크 들어가면 solution 코드도 같이 보이는 건가..? 혹시.. 들어가보신 분이 계시다면.. 댓글 남겨주시면 감사하겠습니다. :) (저는 문제 처음푸는 화면으로 연결하고 싶어요!) 아이디어 글로 설명하는 건 참 어려운 것 같다. 결국 영상으로 올린다.. 다음엔 처음부터 녹화..
-
콜라 문제코딩테스트 연습 2023. 12. 20. 10:40
1. 문제 설명 2. 제한사항, 입출력 예 및 설명 3. 문제 풀이 # 빈 병 a개를 가져갔을 때 b개 병으로 교환해줌. (교환 비율로 생각하기) def solution(a, b, n): answer = 0 while True: q = n//a # 안 빈 병 수(n)를 교환 시 필요한 빈 병 수(a)로 나눴을 때의 몫 구하기 res = n - (a*q) # 안 빈 병 수에서 교환하고 남은 병 수(res) 구하기 n = (q*b) + res # 교환 받은 병 수(q*b)를 위에서 구한 res와 더해서 새롭게 '가지고 있는 병 수'를 만들어줌 answer += (q*b) # 총 교환 받은 병 수를 구하기 위해 계속 q*b를 더해줌 if n < a: # 만약, 내가 지금 가지고 있는 병 수가 a보다 작으면 b..
-
기사단원의 무기카테고리 없음 2023. 12. 19. 12:14
문제 설명 제한사항, 입출력 예 및 설명 문제 풀이 def solution(number, limit, power): answer = 0 cnt_list = [] for n in range(1, number+1): set1 = set() i = 1 # 약수 구하기 while True: res = n % i if res == 0: set1.add(i) set1.add(n//i) i += 1 if i in set1: break if i > n : break # 약수 개수 구하기 cnt = len(set1) cnt_list.append(cnt) # 약수 개수가 limit을 초과하면 power로 바꿔주기 for i, c in enumerate(cnt_list): if c > limit: cnt_list[i] = ..
-
푸드 파이트 대회코딩테스트 연습 2023. 12. 12. 11:10
문제 설명 제한사항 입출력 예 및 설명 문제 풀이 def solution(food): answer = '' n = 1 # 음식 순서 for f in food[1:]: # food[0]은 물의 양이라고 했으니까 food의 1번 원소부터가 음식의 양. quotient = f//2 # 1번 음식의 양(f)를 2(대결하는 사람 수)로 나눴을 때의 몫 answer += str(n)*quotient # 1번 음식이 몫만큼 반복됨. n+=1 # 음식의 순서를 1증가 # ↓ 음식의 배치(answer)를 0과 answer를 반대로 만든 배치(대결상대의 음식의 배치)를 합해준다. answer = answer + '0' + answer[::-1] return answer 코드 설명 ※ 문제 풀이 코드 블럭 참고. food[..