728x90

프로그래머스 20

[프로그래머스] level2 - 오픈채팅방 : 파이썬(Python) 풀이

문제 프로그래머스 - 오픈채팅방(문제) 코딩테스트 연습 - 오픈채팅방 오픈채팅방 카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있는데, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있다. 신입사원인 김크루는 카카오톡 오 programmers.co.kr 코드 def solution(record): user_id = dict() seq = [] ment = [] for i in record: step = i.split() if step[0] == 'Enter': user_id[step[1]] = step[2] seq.append(step[1]) ment.append("님이 들어왔습니다.") elif step[0] == 'Leave': seq.append(step[1]) me..

코딩코딩 2021.07.03

[프로그래머스] level2 - 짝지어 제거하기 : 파이썬(Python) 풀이

문제 프로그래머스-짝지어 제거하기 : 파이썬 풀이 코딩테스트 연습 - 짝지어 제거하기 짝지어 제거하기는, 알파벳 소문자로 이루어진 문자열을 가지고 시작합니다. 먼저 문자열에서 같은 알파벳이 2개 붙어 있는 짝을 찾습니다. 그다음, 그 둘을 제거한 뒤, 앞뒤로 문자열을 이어 붙 programmers.co.kr 코드 def search(array, point): try: if(array[point] == array[point+1]): array.pop(point) array.pop(point) point = point-1 if point != 0 else 0 else: point += 1 except: pass return array, point def solution(s): s = list(s) if le..

코딩코딩 2021.05.26

[프로그래머스] level1 - 로또의 최고순위와 최저순위 : 파이썬(Python) 풀이

문제 프로그래머스 - 로또의 최고 순위와 최저 순위 - 파이썬 풀이 코딩테스트 연습 - 로또의 최고 순위와 최저 순위 로또 6/45(이하 '로또'로 표기)는 1부터 45까지의 숫자 중 6개를 찍어서 맞히는 대표적인 복권입니다. 아래는 로또의 순위를 정하는 방식입니다. 1 순위 당첨 내용 1 6개 번호가 모두 일치 2 5개 번호 programmers.co.kr 코드 def solution(lottos, win_nums): count = 0 zero = 0 a,b = 0,0 for i in lottos: if i == 0: zero += 1 elif i in win_nums: count += 1 b = 7-count if count != 0 else 6 a = 7-zero-count if zero != 0 ..

코딩코딩 2021.05.25

[프로그래머스] level1 - 신규 아이디 추천 : 파이썬(Python) 풀이

문제 프로그래머스 level1 신규 아이디 추천(파이썬) 코딩테스트 연습 - 신규 아이디 추천 카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로 programmers.co.kr 코드 def solution(new_id): new_id = new_id.lower() # 2 ~ 3단계 new = [] new_id = list(new_id) check = 0 for i in new_id: if ((ord(i) >=97 and ord(i) = 48 and ord(i) = 16: new_id = new_id[:15] if new_id[-1] == '.': new_id = new_i..

코딩코딩 2021.05.04

[프로그래머스] level1 - 두 개 뽑아서 더하기 : 파이썬(Python) 풀이

문제 두 개 뽑아서 더하기 - 프로그래머스(파이썬) 코딩테스트 연습 - 두 개 뽑아서 더하기 정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요. 제한 programmers.co.kr 코드 def solution(numbers): answer = [] numbers = sorted(numbers) while(len(numbers) != 1): first = numbers.pop(0) for i in numbers: answer.append(first + i) return sorted(list(set(answer))) 풀이 간단한 문제였다. 이보..

코딩코딩 2021.04.02

[프로그래머스] level1 - 모의고사 : 파이썬(Python) 풀이

문제 프로그래머스 level1 모의고사 문제 코딩테스트 연습 - 모의고사 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 programmers.co.kr 코드 def solution(answers): answerss = []; answer = [] a = [1,2,3,4,5]; count_a = 0; a_a = 0 b = [2,1,2,3,2,4,2,5]; count_b = 0; b_b = 0 c = [3,3,1,1,2,2,4,4,5,5]; count_c = 0; c_c = 0 for i in range(len(answers)): if(a[a_a] == answers[i..

코딩코딩 2020.12.24

[프로그래머스] level1 - 같은 숫자는 싫어 : 파이썬(Python) 풀이

문제 프로그래머스 level1 같은 숫자는 싫어 코딩테스트 연습 - 같은 숫자는 싫어 배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은 programmers.co.kr 코드 def solution(arr): n = 0; answer = [] while(n < len(arr)-1): if(arr[n] == arr[n+1]): if(n == len(arr)-2): answer.append(arr[n]) n += 1 else: n += 1 else: answer.append(arr[n]) n += 1 if(n == len(arr)-1): answer.appe..

코딩코딩 2020.12.17

[프로그래머스] level1 - 2016년 : 파이썬(Python) 풀이

문제 프로그래머스 level1 2016년 코딩테스트 연습 - 2016년 2016년 1월 1일은 금요일입니다. 2016년 a월 b일은 무슨 요일일까요? 두 수 a ,b를 입력받아 2016년 a월 b일이 무슨 요일인지 리턴하는 함수, solution을 완성하세요. 요일의 이름은 일요일부터 토요일까 programmers.co.kr 코드 import datetime def solution(a, b): week = {0:"MON", 1:"TUE", 2:"WED",3:"THU", 4:"FRI", 5:"SAT", 6:"SUN"} return week[datetime.date(2016,a,b).weekday()] 코드풀이 문제는 간단하다. a, b 를 입력받아서 2016년 a 월 b 일이 무슨 요일인지 출력하면 되는 ..

코딩코딩 2020.12.16

[프로그래머스] level2 - 기능개발 : 파이썬(Python) 풀이

문제 프로그래머스 level2 기능개발 코딩테스트 연습 - 기능개발 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 programmers.co.kr 코드 import numpy as np def solution(progresses, speeds): answer = []; count = 0 progresses = np.array(progresses) speeds = np.array(speeds) while(len(progresses) > 0): progresses += speeds if(len(np.where(progresses >= 100)[0]) == 0): ..

코딩코딩 2020.11.15

[프로그래머스] level1 체육복 - 파이썬(Python) 풀이

문제 프로그래머스-체육복 코드 def solution(n, lost, reserve): answer = 0 lost_1 = lost lost = list(set(lost) - set(reserve)) reserve = list(set(reserve) - set(lost_1)) for i in range(len(reserve)): if(reserve[i]-1 in lost): del lost[lost.index(reserve[i]-1)] elif(reserve[i]+1 in lost): del lost[lost.index(reserve[i]+1)] answer = n-len(lost) return answer 코드풀이 n : 총 학생 수lost : 체육복을 잃어버린 사람의 배열reserve : 여벌의 체육..

코딩코딩 2020.09.25