안녕하세요.시간이 없으니 바로 Let's go문제 설명https://www.acmicpc.net/problem/3079여행을 갔답니다.사람은 M명, 입국심사대는 N개입니다.k번 심사대의 심사관의 심사 시간은 Tk입니다.예를 들어, 두 심사대가 있고, 심사를 하는데 걸리는 시간이 각각 7초와 10초라고 하자. 줄에 서 있는 사람이 6명이라면, 가장 첫 두 사람은 즉시 심사를 받으러 가게 된다. 7초가 되었을 때, 첫 번째 심사대는 비어있게 되고, 세 번째 사람이 그곳으로 이동해서 심사를 받으면 된다. 10초가 되는 순간, 네 번째 사람이 이곳으로 이동해서 심사를 받으면 되고, 14초가 되었을 때는 다섯 번째 사람이 첫 번째 심사대로 이동해서 심사를 받으면 된다. 20초가 되었을 때, 두 번째 심사대가 비어..
문제 설명https://www.acmicpc.net/problem/1253N개의 수 중, 어떤 수를 다른 수 두 개의 합으로 나타낼 수 있으면 그 수는 좋다. 이때 좋은 수가 몇 개인지 출력하는 문제. ex) 1,2,3,4,5,6,7,8,9,10 중 좋은 수는 3,4,5,6,7,8,9,10이다. 3 = 1 + 2, 4 = 1 + 3, ...수의 위치가 다르면 값이 같아도 다른 수로 본다.입력: 첫째 줄에는 수의 개수 N(1 ≤ N ≤ 2,000), 두 번째 줄에는 i번째 수를 나타내는 Ai가 N개 주어진다. (|Ai| ≤ 1,000,000,000, Ai는 정수)출력: 개수를 첫 번째 줄에 출력한다. 풀이 과정투 포인터 알고리즘을 사용했다.투 포인터 알고리즘이란 주로 정렬된 배열의 연속적인 구간에서 합이나..
문제 설명https://www.acmicpc.net/problem/6236 풀이 과정1. Python 풀이import sysinput = sys.stdin.readlineN, M = map(int, input().split())money = [int(input()) for _ in range(N)]min_k = max(money)max_k = sum(money)while min_k = money[i]: temp -= money[i] else: temp = K - money[i] cnt += 1 if cnt M: min_k = K + 1print(answer) 2. Swift 풀이let input = readLine..
오늘의 문제https://www.acmicpc.net/problem/11047 몇 년 만에 파이썬으로 풀어봤습니다. 그래서 아주 쉬운 문제로...진짜 input() 빼고 다 까먹어서 문법 검색하며 풀었습니다. 내 풀이N, K = map(int, input().split())Ai = []answer = 0for i in range(0, N): Ai.append(int(input()))Ai.reverse() # 오름차순 -> 내림차순으로 변경for a in Ai: if K == 0: # 0이면 끝 break if a 쉽지만 간단히 설명을 붙이자면해당 문제는 그리디 알고리즘으로 분류되어 있는데, # 동전을 적절히 사용해서 그 가치의 합을 K로 만들려고 한다. 이때 필요한 동전 개..
오늘의 문제https://www.acmicpc.net/problem/18870 나의 풀이let N = Int(readLine()!)!var input = readLine()!.split(separator: " ").map { Int($0)! }// Set으로 중복 제거 후 sorted로 오름차순 정렬let setInput = Array(Set(input)).sorted()// 딕셔너리 생성// 계산된 값을 저장해두고 아는 값이면 꺼내서 바로 사용하기 위함var dict = [Int: Int]()// (인덱스, 값) 순서로 들어옴for (index, num) in setInput.enumerated() { // 딕셔너리의 key로 '배열의 값'을 저장하고 딕셔너리의 value로 '그 값의 인덱스'를 ..
오늘의 문제 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 //..
- Total
- Today
- Yesterday
- Python
- 큐
- 구현
- 이분탐색
- 코딩테스트
- 그래프
- Dijkstra
- Deque
- ios앱개발
- 알고리즘
- 백준
- 투포인터
- ios
- dp
- 스택
- MySQL
- Programmers
- 코테준비
- 그리디
- 코테
- 자료구조
- 힙
- Swift
- Baekjoon
- Swift로백준풀기
- SQL
- 프로그래머스
- 해시
- 다익스트라
- 다이나믹프로그래밍
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |