오늘의 문제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로 '그 값의 인덱스'를 ..
오늘의 문제 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: 큐의 가장 뒤에 있는 정수를 ..
오랜만에 백준 푸니까 다 까먹은 것 같아서 자료구조부터 다시 하는 중이다... 하.하 오늘의 문제 1874번: 스택 수열 1부터 n까지에 수에 대해 차례로 [push, push, push, push, pop, pop, push, push, pop, push, push, pop, pop, pop, pop, pop] 연산을 수행하면 수열 [4, 3, 6, 8, 7, 5, 2, 1]을 얻을 수 있다. www.acmicpc.net 문제 요약 - 1부터 n까지의 수를 스택에 push 할 때, pop 하는 순서대로 숫자가 출력되는데 입력으로 특정 수열이 들어왔을 경우 그 수열처럼 출력하기 위해서 스택에 숫자를 어떤 순서대로 push 하고 pop 해야 하는지 +, -로 나타내라. 단, push 할 때는 오름차순을 지..
- Total
- Today
- Yesterday
- 알고리즘
- Programmers
- 다이나믹프로그래밍
- 백준
- swea
- 투포인터
- 힙
- dfs
- BFS
- Baekjoon
- 그리디
- SQL
- Swift
- ios
- Python
- 코테준비
- D2
- 프로그래머스
- 백트래킹
- 큐
- Deque
- 이분탐색
- 코딩테스트
- D3
- 구현
- 스택
- MySQL
- dp
- 완전탐색
- 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 |