일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- windosw 문자열
- ftz
- 큐
- 시간복잡도
- OSI
- Java
- ftz level13
- PHP
- c언어
- System
- 파일 시스템
- HTML
- 미로 탐색 알고리즘
- 정렬 알고리즘
- 두근두근 자료구조
- LoB
- level13
- 파이썬
- SWiFT
- 백준
- 암호수학
- C
- 자료구조
- War Game
- web
- 스택
- pwnable.kr
- Stack
- 재귀
- windosws wbcs
- Today
- Total
목록Programming (130)
나의 기록, 현진록
https://www.acmicpc.net/problem/2437 1. 문제이해N 개의 저울추가 주어질 때, 측정할 수 없는 무게 중 최솟값 구하기2. 접근방법1, 1, 2로 측정할 수 있는 무게1 (1)2 (1+1, 2)3 (1+2)4 (1+1+2)1,2,3,41, 1, 2에서 3이 추가될 경우1 + 3 = 42 + 3 = 53 + 3 = 64 + 3 = 71,2,3,4,5,6,71, 1, 2에서 5가 추가될 경우1 + 5 = 62 + 5 = 73 + 5 = 84 + 9 = 91,2,3,4,6,7,8,9 5는 무게를 측정할 수 없음1 ~ K까지 무게를 측정할 수 있을 때새로운 저울추가 K 무게보다 작거나 같으면 1부터 새로운 저울추까지 무게를 측정할 수 있다.새로운 저울추가 K 보다 크면 K+1은 측정..
https://school.programmers.co.kr/learn/courses/30/lessons/49189 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 1. 문제 이해- 1번 노드에서 가장 멀리 떨어져 있는(최대 dept)의 노드 개수 구하기 2. 접근 방법bfs 알고리즘 사용하여 dept마다 이동 가능한 노드 갯수 업데이트bfs 알고리즘 수행 후 업데이트 된 노드 갯수를 출력 3. 코드import Foundationfunc solution(_ n:Int, _ edge:[[Int]]) -> Int { var map = Array(repeating: [Int](), count: n) ..
https://www.acmicpc.net/problem/15686 1. 문제이해최대 M개의 치킨집만 도시에 존재해야 한다고 했을 때, 도시의 치킨 거리(모든 집의 치킨 거리의 합)의 최소 값을 구하기2. 접근방법집 좌표, 치킨집 좌표 조합 만들기치킨 집 좌표를 백트래킹으로 완전 탐색가장 가까운 치킨집 찾기도시의 치킨거리 최솟값 구하기3. 코드import Foundationfunc solution(){ let input = readLine()!.split(separator: " ").map{Int(String($0))!} let N = input[0] let M = input[1] var map = [[Int]]() for _ in 0.. Int{ var sum =..
https://school.programmers.co.kr/learn/courses/30/lessons/42628 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 1. 문제 이해일반적인 우선순위큐는 한 쪽 방향으로 Input, 다른 한 쪽 방향으로 Output이 이루어진다고 한다면, 문제에서 요구하는 이중우선순위큐는 Output이 양쪽 방향으로 이루어지는 형태이다. 큐에 데이터를 push하고 최댓값이나 최솟값을 pop할 수 있는 구조를 만들어야 한다. 2. 접근 방법[정렬]Output을 최솟값과 최댓값을 pop할 수 있는 형태로 큐를 만들어야 한다. 한 쪽은 최솟값만 다른 한 쪽은 최댓값만 pop할 수..
https://school.programmers.co.kr/learn/courses/30/lessons/43165 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 주어진 배열에 있는 숫자들로 더하거나 빼서 targetNumber를 만들기 - 주어진 배열에 있는 숫자들을 더하거나 뺀 값으로 재귀호출을 반복(DFS) - 재귀호출이 끝났을 경우 targetNumber와 같을 경우 count + 1- 모든 DFS 종료 시 count 출력 import Foundationfunc solution(_ numbers:[Int], _ target:Int) -> Int { func dfs(dept: Int, resu..
https://school.programmers.co.kr/learn/courses/30/lessons/43164 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 1. 문제 이해"ICN" 공항에서 출발한다.주어진 항공권은 모두 사용해야 한다.가능한 경로가 2개 이상일 경우 알파벳 순서가 앞서는 경로를 선택해야 한다.모든 도시를 방문할 수 없는 경우는 주어지지 않는다. 위 조건을 고려하여 방문하는 공항 경로를 출력하자 2. 접근 방법"가능한 경로가 2개 이상일 경우 알파벳 순서가 앞서는 경로를 선택해야 한다." -> [a, b]에서 b를 기준으로 오름차순 정렬visited와 백트래킹을 사용한 dfs ..

Objective반복된 동작을 위해 주로 for in 또는 forEach를 주로 사용해 왔다.가끔 알고리즘 문제를 풀곤 할 때 forEach 문을 사용했을 때 시간 초과가 발생했던 적이 있어서 둘 중 for in이 더 빠르다고 느껴왔다.경험으로 인해 그렇다고 느껴왔던 것이지 의문만 가지고 실제 두 차이를 알아보려고 시도하진 않았던 것 같다. for-in과 forEach 중 어떤 것이 속도와 메모리 측면에서 성능 분석 후 어떠한 상황에서 사용하는 게 적합한지 알아보자 Key ResultKR1 - 어느 것이 속도가 더 빠른지 비교한다.KR2 - 어느 것이 메모리 사용량이 적은지 비교한다.KR3 - 각각 어떠한 상황에서 사용하는 것이 적합한지 분석한다. KR1 - 속도 비교import Foundation..
https://www.acmicpc.net/problem/1022 1. 문제이해0행 0열 반시계 방향 순서로 숫자가 작성된 표를 입력 받은 크기 만큼 출력하기출력할 때 가장 큰 숫자의 자릿수 만큼 채워야 함(자릿수가 부족할 때 공백으로 채우기)2. 접근방법테이블 채우기제한 사항 때문에 입력 받은 네 점의 크기 만큼만 2차원 배열을 만들어야 함메모리는 제한되었지만 시간에 대해서는 5000*5000으로 여유수를 순서대로 증가시키고 표의 크기 내부인 경우에만 표에 접근하여 저장하면 됨반시계 방향 소용돌이에 맞게 인덱스를 수정하기출력최대 값의 길이만큼 자릿수 채우기3. 코드 func solution(){ let input = readLine()!.split(separator: " ").map{Int(St..
https://school.programmers.co.kr/learn/courses/30/lessons/214288?language=swift 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 1. 문제이해n명의 상담사, k개의 상담 유형으로 이루어진 채용 설명회각 멘토는 한 개의 상담 유형만 담당 가능, 같은 시간에 한 명의 참가자와 상담 가능각 유형 별로 최소 1명의 멘토가 배치모든 참가자의 대기 시간이 최소가 되도록 상담 유형별로 멘토를 정해야 함모든 참가자 대기 시간 총합을 구하라선입 선출 구조로 상담이 이루어진다. 2. 접근방법[참가자가 상담하는 순서, 그리디]상담을 요청한 시각에 즉시 상담이 가..
https://www.acmicpc.net/problem/2179 1. 문제이해N개의 영단어들이 주어질 때, 가장 비슷한 두 단어를 출력하기비슷한 정도는 두 단어의 접두사의 길이로 따진다.접두사란 두 단어의 앞부분에서 공통적으로 나타나는 부분문자열을 말한다."AHEHHEH", "AHAHEH"의 접두사는 "AH"가 되고, "AB", "CD"의 접두사는 ""(길이가 0)이 된다.접두사의 길이가 최대인 경우의 두 단어를 출력하라접두사의 길이가 최대일 경우 단어가 입력된 순서대로 2개(S, T) 출력접두사의 길이가 동일한 경우가 있을 경우 그 중에서 단어 입력 순서가 제일 빠른 단어의 접두사를 기준으로 하여 입력 순서대로 2개의 단어를 출력2. 접근방법N의 최대는 20000, 단어들을 2중 반복문으로 접두사의..