문제 설명https://www.acmicpc.net/problem/2075정답 코드import heapqN = int(input())heap = []for _ in range(N): for i in list(map(int, input().split())): if len(heap) == N and i > heap[0]: heapq.heappush(heap, i) heapq.heappop(heap) elif len(heap)
오늘의 문제 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 내 풀이def solution(s): answer = False # 초기값 설정 stack = []# stack 리스트 생성 for i in range(len(s)): # 문자열 s의 길이만큼 반복 if not stack: # stack이 비어 있을 때 if s[i] == ")": # 인덱스 i가 ")"면 -> 짝을 이루는 "("가 앞에 없는데 ")"가 나온다는 뜻이니까 return answer # 올바르지 않은 괄호 else: # 인덱스 i가 "("..
오늘의 문제 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 내 풀이def solution(prices): answer = [] for i in range(len(prices)): # prices 개수만큼 반복 cnt = 0 # 카운트 초기화 for j in range(i + 1, len(prices)): # 현재 포커싱 하고 있는 값(인덱스 i)의 뒤에 있는 값부터 끝까지 반복 cnt += 1 # 카운트 증가 if prices[i] > prices[j]: # 인덱스 i 값(더 앞에 있는 값)이 인덱스 j(더 뒤에 있는 값)보다 ..
오늘의 문제 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 내 풀이def solution(progresses, speeds): answer = [] cnt = 0 while progresses: # 빈 배열이 아니라면 반복 while progresses and progresses[0] >= 100: # 빈 배열이 아니고 첫 번째 값이 100 이상일 때 progresses.pop(0) # 첫 번째 값 제거 speeds.pop(0) # 첫 번째 값의 속도도 제거 cnt += 1 # 카운트 1 증가 i..
오늘의 문제 1929번: 소수 구하기 첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) M이상 N이하의 소수가 하나 이상 있는 입력만 주어진다. www.acmicpc.net 내 풀이 import Foundation let input = readLine()!.split(separator: " ").map { Int($0)! } var M = input[0] var N = input[1] var arr: [Bool] = Array(repeating: true, count: N+1) arr[0] = false if N >= 1 { arr[1] = false } // 1 1 일 때는 그냥 강제로 0 출력해버림 if M == 1 && N == 1 { print..
오늘의 문제 5397번: 키로거 첫째 줄에 테스트 케이스의 개수가 주어진다. 각 테스트 케이스는 한줄로 이루어져 있고, 강산이가 입력한 순서대로 길이가 L인 문자열이 주어진다. (1 ≤ L ≤ 1,000,000) 강산이가 백스페이스를 입 www.acmicpc.net 나의 삽질 과정 1. 처음에는 res 변수를 빈 문자열로 초기화하고 cursor를 res의 인덱스(Int)로 두고 진행했었다. 일 때 cursor를 -1, +1하고 글자일 때는 res를 슬라이싱 해서 cursor를 기준으로 left, right로 나누고 res = left + String(i) + right 뭐 이런 식으로 했었다. 테스트 케이스는 통과했었으나 다른 케이스에서 IndexError가 났는지 제출 시 런타임 에러를 띄웠다. 2. ..
오늘의 문제 4949번: 균형잡힌 세상 각 문자열은 마지막 글자를 제외하고 영문 알파벳, 공백, 소괄호("( )"), 대괄호("[ ]")로 이루어져 있으며, 온점(".")으로 끝나고, 길이는 100글자보다 작거나 같다. 입력의 종료조건으로 맨 마지막에 www.acmicpc.net 이 문제... https://tobeforest.tistory.com/13 이거랑 문제 내용만 다르지 로직은 똑같다. 날먹 하려고 일부러 한 건 아닌데, 요새 내가 푸는 챕터가 자료구조라서 그렇다. 자료구조 챕터 다 풀면 다음 챕터로 넘어갈 예정. (자료구조가 챕터 1이다.) 그래도 저거 푼 지 며칠 지났는데 친구랑 고민했던 게 인상 깊어서 그런가 로직이 바로 생각나서 바로 풀었다. 내 풀이 import Foundation va..

오늘의 문제 1021번: 회전하는 큐 첫째 줄에 큐의 크기 N과 뽑아내려고 하는 수의 개수 M이 주어진다. N은 50보다 작거나 같은 자연수이고, M은 N보다 작거나 같은 자연수이다. 둘째 줄에는 지민이가 뽑아내려고 하는 수의 위치가 www.acmicpc.net 문제 제목 보고 순환 큐로 풀 생각에 front, rear 변수 두고 풀다가 괜히 뺑뺑 돌아 결국 제자리로 오게 된 사연... 실버 3인데 며칠 동안 풀었다...^^ 태초부터 다시 시작했더니 금새 풀렸다. 내 풀이 import Foundation let input = readLine()!.split(separator: " ").map { Int($0)! } let N = input[0] var count = 0 var numbers = readL..
오늘의 문제 3986번: 좋은 단어 이번 계절학기에 심리학 개론을 수강 중인 평석이는 오늘 자정까지 보고서를 제출해야 한다. 보고서 작성이 너무 지루했던 평석이는 노트북에 엎드려서 꾸벅꾸벅 졸다가 제출 마감 1시간 전에 www.acmicpc.net 요약) 단어 위로 아치형 곡선을 그어 같은 글자끼리(A는 A끼리, B는 B끼리) 쌍을 짓기로 함. 선끼리 교차하지 않으면서 각 글자를 정확히 한 개의 다른 위치에 있는 같은 글자와 짝 지을수 있다면, 그 단어는 '좋은 단어'. 입력된 단어들 중에 '좋은 단어'가 몇 개 있는지 세서 출력하면 됨. 내 풀이 import Foundation /// 단어의 수 입력 let N = Int(readLine()!)! /// 좋은 단어의 개수 var result = 0 //..
오늘의 문제 10845번: 큐 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 문제 요약 맨 처음에 입력으로 명령어 개수가 주어지고, 명령대로 수행하는 프로그램 작성 push X: 정수 X를 큐에 추가. pop: 큐에서 가장 앞에 있는 정수를 빼고, 그 수를 출력. 큐가 빈 경우에는 -1을 출력. size: 큐에 들어있는 정수의 개수 출력. empty: 큐가 비어있으면 1, 아니면 0을 출력. front: 큐의 가장 앞에 있는 정수를 출력. 큐가 빈 경우에는 -1을 출력. back: 큐의 가장 뒤에 있는 정수를 ..
- Total
- Today
- Yesterday
- Baekjoon
- 자료구조
- 스택
- dp
- MySQL
- 코딩테스트
- 힙
- 정렬
- swea
- 코테준비
- 다이나믹프로그래밍
- 이분탐색
- ios
- Deque
- 알고리즘
- 투포인터
- Programmers
- 백트래킹
- 완전탐색
- Swift
- BFS
- SQL
- 프로그래머스
- Python
- 큐
- 구현
- Swift로백준풀기
- 백준
- 코테
- 그리디
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |