일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 스프링
- 백트래킹
- 파이썬
- 정렬
- Backtracking
- Python
- 소트인사이드
- sort
- 월간 코드 챌린지 시즌2
- 스택
- 2중포문
- 최단거리
- 통계학
- 퇴각검색
- 프로그래머스
- 소트
- 다익스트라
- 동적
- 브루트포스
- 코딩테스트
- 코테
- 스프링프레임워크
- 동적계획법
- 404에러
- 덩치
- DFS
- 그리디
- 그리디알고리즘
- 최빈값
- 백준
- Today
- Total
목록코딩테스트/프로그래머스 (42)
취준생의 코딩테스트 연습기
# 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/42626 코딩테스트 연습 - 더 맵게 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같 programmers.co.kr # Soultion 처음에 스택을 이용하여 문제를 풀었더니 시간초과 문제가 발생하였다. 최대값이나 최소값을 구하는 문제에는 힙큐를 사용하면 빠르게 구현이 가능하다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 import heapq def solution(scoville, K): answer = 0 ..
# 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/42586 코딩테스트 연습 - 기능개발 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 programmers.co.kr # Soultion 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 import math def solution(progresses, speeds): answer = [] for i in range(len(speeds)): if progresses[i]
# 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/60057 코딩테스트 연습 - 문자열 압축 데이터 처리 전문가가 되고 싶은 "어피치"는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문 programmers.co.kr # Soultion 2차원 리스트를 이용하여 마지막에 저장된 문자열과 같으면, 카운팅을 증가해주는 방식으로 해결했다. 주의할점은, 카운팅의 개수가 10개이상일때 18번 라인처럼 처리해줘야한다는 점이다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 def solution(s): a..
# 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/12973 코딩테스트 연습 - 짝지어 제거하기 짝지어 제거하기는, 알파벳 소문자로 이루어진 문자열을 가지고 시작합니다. 먼저 문자열에서 같은 알파벳이 2개 붙어 있는 짝을 찾습니다. 그다음, 그 둘을 제거한 뒤, 앞뒤로 문자열을 이어 붙 programmers.co.kr # Soultion (실패) 정확성 테스트는 통과했지만, 효율성에서 통과하지 못했다. 1 2 3 4 5 6 7 8 9 10 def solution(s): for i in s: s = s.replace(i+i,'') if s: return 0 else: return 1 Colored by Color Scripter cs # Soultio..
# 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/17681 코딩테스트 연습 - [1차] 비밀지도 비밀지도 네오는 평소 프로도가 비상금을 숨겨놓는 장소를 알려줄 비밀지도를 손에 넣었다. 그런데 이 비밀지도는 숫자로 암호화되어 있어 위치를 확인하기 위해서는 암호를 해독해야 한다. 다 programmers.co.kr # Soultion 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 def binary_num(n,num): s = '' while(num): if num%2==0: s = ' '+s else: s = '#'+s num //= 2 if len(s) 0 0인 경우에만 0이므로, or연산과 동일하다.
# 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/12969 코딩테스트 연습 - 직사각형 별찍기 이 문제에는 표준 입력으로 두 개의 정수 n과 m이 주어집니다. 별(*) 문자를 이용해 가로의 길이가 n, 세로의 길이가 m인 직사각형 형태를 출력해보세요. 제한 조건 n과 m은 각각 1000 이하인 자연수 programmers.co.kr # Soultion 간단하게 b줄만큼 a개의 별을 출력하는 문제이다. 1 2 3 4 a, b = map(int, input().strip().split(' ')) for _ in range(b): print('*'*a) cs
# 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/12948 코딩테스트 연습 - 핸드폰 번호 가리기 프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다. 전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자 programmers.co.kr # Soultion 1 2 3 4 def solution(phone_number): n = len(phone_number)-4 answer = '*'*n+phone_number[-4:] return answer cs 2. 마지막 4글자를 제외한 부분을 *로 바꾸기 위해, 개수를 구한다. 3. n개만큼 *로 만들고, 뒤에서 4..
# 문제 링크 programmers.co.kr/learn/courses/30/lessons/42888 코딩테스트 연습 - 오픈채팅방 오픈채팅방 카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있는데, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있다. 신입사원인 김크루는 카카오톡 오 programmers.co.kr # Soultion 처음에 15줄에서 2중 for문을 사용했더니 시간초과 문제가 발생하여 1중 for문으로 변경해주었다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 def solution(record): answer = [] user = {} for i in record: rec = list(map(str,i.split..
# 문제 링크 programmers.co.kr/learn/courses/30/lessons/76501 코딩테스트 연습 - 음양 더하기 어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 re programmers.co.kr # Soultion 단순하게 음양을 따져서 숫자를 더하는 문제이다. 1 2 3 4 5 6 7 8 9 def solution(absolutes, signs): answer = 0 for i in range(len(absolutes)): if signs[i]==True: answer+=absolutes[i] else: answer-=absol..
# 문제 링크 programmers.co.kr/learn/courses/30/lessons/76502 코딩테스트 연습 - 괄호 회전하기 programmers.co.kr # Soultion 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 from collections import deque def solution(s): str = deque(s) answer = 0 for j in range(len(str)): stack = [] for i in str: if i=='(' or i=='{' or i=='[': stack.append(i) elif not stack: stack.append('-') brea..