일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 월간 코드 챌린지 시즌2
- 소트
- Python
- 스택
- 덩치
- 백트래킹
- 통계학
- 스프링프레임워크
- Backtracking
- sort
- 최빈값
- 동적
- 스프링
- 정렬
- 최단거리
- 퇴각검색
- 404에러
- 코딩테스트
- 프로그래머스
- 백준
- 브루트포스
- 다익스트라
- 소트인사이드
- 그리디알고리즘
- 2중포문
- 동적계획법
- 파이썬
- 코테
- 그리디
- DFS
- Today
- Total
목록전체 글 (127)
취준생의 코딩테스트 연습기
# 문제 링크 https://www.acmicpc.net/problem/2504 2504번: 괄호의 값 4개의 기호 ‘(’, ‘)’, ‘[’, ‘]’를 이용해서 만들어지는 괄호열 중에서 올바른 괄호열이란 다음과 같이 정의된다. 한 쌍의 괄호로만 이루어진 ‘()’와 ‘[]’는 올바른 괄호열이다. 만일 www.acmicpc.net # Soultion 여러가지 경우의 수를 잘 생각해야 하는 문제이다. 나는 test case가 '(()([())])'인 경우에 0이 나와야하는데 28이 나오는 반례를 해결했다. 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 32 33 34 35 36 37 38 39 40 s = ..
# 문제 링크 https://www.acmicpc.net/problem/14888 14888번: 연산자 끼워넣기 첫째 줄에 수의 개수 N(2 ≤ N ≤ 11)가 주어진다. 둘째 줄에는 A1, A2, ..., AN이 주어진다. (1 ≤ Ai ≤ 100) 셋째 줄에는 합이 N-1인 4개의 정수가 주어지는데, 차례대로 덧셈(+)의 개수, 뺄셈(-)의 개수, www.acmicpc.net # Soultion 예제3번의 나눗셈부분을 신경써서 처리하면 간단한 문제이다. 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 32 from itertools import permutations n = int(input()) o..
# 문제 링크 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..
# 문제 링크 swexpertacademy.com/main/learn/course/subjectDetail.do?courseId=AVuPDN86AAXw5UW6&subjectId=AWOVIc7KqfQDFAWg SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com # 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 32 33 t = int(input()) for tc in range(1,t+1)..
# 문제 링크 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..
# 문제 링크 www.acmicpc.net/problem/13305 13305번: 주유소 표준 입력으로 다음 정보가 주어진다. 첫 번째 줄에는 도시의 개수를 나타내는 정수 N(2 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 인접한 두 도시를 연결하는 도로의 길이가 제일 왼쪽 도로부터 N-1 www.acmicpc.net # Soultion 1 2 3 4 5 6 7 8 9 10 11 n = int(input()) path = list(map(int,input().split())) price = list(map(int,input().split())) answer = 0 liter = price[0] for i in range(len(path)): answer = answer + path[i]*liter..
# 문제 링크 www.acmicpc.net/problem/1541 1541번: 잃어버린 괄호 첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다 www.acmicpc.net # 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 s = input() li = [] num = '' for i in s: if i.isdigit(): num += str(i) else: if num!='': li.append(int(num)) num = '' li.append(i) li.app..
# 문제 링크 www.acmicpc.net/problem/11399 11399번: ATM 첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000) www.acmicpc.net # Soultion 걸리는 시간의 최소값을 구하기위해서는 오름차순으로 정렬하는 것이 중요하다. 1 2 3 4 5 6 7 8 9 10 n = int(input()) li = list(map(int,input().split())) li.sort() s = 0 tm = [] for i in li: s += i tm.append(s) print(sum(tm)) cs 3. 오름차순 정렬 5. 누적되는 값 저장할 변수 6. 각 순서에서 ..
# 문제 링크 www.acmicpc.net/problem/1931 1931번: 회의실 배정 (1,4), (5,7), (8,11), (12,14) 를 이용할 수 있다. www.acmicpc.net # Soultion 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 n = int(input()) li = [] for _ in range(n): li.append(list(map(int,input().split()))) li.sort(key = lambda x : (x[1],x[0])) cnt = 0 end = 0 for i in li: if i[0]>=end: end = i[1] cnt +=1 print(cnt) Colored by Color Scripter cs 3. 회의의 시간을 li에 2..