[백준] 2458번 키 순서

두 학생 쌍들의 키 비교 결과가 주어진 상태에서, 자신이 몇번째로 큰지 알 수 있는 학생의 수를 구하는 문제이다.두 학생 키의 비교 정보를 edge로 생각하고, 플루이드 와샬 알고리즘을 적용하여 문제를 풀 수 있다.각각의 edge는 키가 크다는 정보인지, 작다는 정보인

2022년 4월 30일
·
0개의 댓글

[백준] 4485번 녹색 옷 입은 애가 젤다지?

각 칸을 지날 때 내야 할 비용이 주어진 상황에서, 0에서 N-1로 가는 최소 비용 경로를 구하는 문제이다.각 칸에서 상하좌우 방향으로 모두 이동할 수 있으므로, 각 방향으로 모두 엣지로 연결되어있다고 생각하고 다익스트라를 수행하면 된다.처음에 시간 초과 때문에 틀린

2022년 4월 28일
·
0개의 댓글

[백준] 11179번 최소비용 구하기 2

출발지에서 도착지로 가는 최단 거리와 그 경로를 구하는 문제이다.heapq를 사용해서 최단 거리를 구했고, prev 리스트에는 해당 지점까지 오는데 최단 거리가 되는 직전의 도시를 저장했다.마지막에 prev를 통해 거슬러 올라가면서 최단 거리가 되는 경로를 구할 수 있

2022년 4월 27일
·
0개의 댓글

리눅스 기본 커맨드 정리

man -> 다른 커맨드를 조회해볼수 있는 manual을 보여줌리눅스는 root에서 모든 디렉토리가 시작됨pwd -> /Users/kimyoungho : 루트 디렉토리 밑에 있는 Users 아래의 kimyounghols -al : 디렉토리 안에 속한 파일/디렉토리의 정

2022년 4월 10일
·
0개의 댓글

[프로그래머스] 보석 쇼핑

모든 보석 종류를 포함하면서 가장 짧은 연속된 구간을 찾아내는 구현 문제이다.먼저 문제의 시작 부분에서 전체 보석 종류의 개수 n을 len(set(gems))로 구했다.모든 보석종류가 포함되었는지 확인할 떄에는 해당 개수가 n과 일치하는지 확인하면 된다.처음에는 각 위

2022년 4월 7일
·
0개의 댓글

[프로그래머스] 표 편집

입력된 명령어에 따라 커서를 움직이거나 레코드를 삭제 및 복원하도록 구현하는 문제이다.우선 가장 최근에 삭제한 원소를 복원하는 작업이 가능해야 하기 때문에, 삭제한 레코드의 인덱스를 큐로 저장하는 리스트 delete_q를 사용했다.delete_q.pop()을 통해 가장

2022년 4월 6일
·
0개의 댓글

[프로그래머스] 셔틀버스

문제에서 제시한 조건을 구현하는 문제이다.입력으로 주어진 timetable의 문자열은 파싱하여 시간, 분으로 만들고, 이를 time_list에 시간 순서대로 저장했다.각 셔틀버스 도착 시간을 순회하면서, 앞에 있는 버스에서 승객들을 보낸 후 마지막 버스가 도착한 시점의

2022년 4월 3일
·
0개의 댓글

자바 플레이그라운드

java-baseball-playgroundhttps://github.com/JadenKim-dev/java-baseball-playgroundjava-racingcar-playgroundhttps://github.com/JadenKim-dev/jav

2022년 3월 23일
·
0개의 댓글

[프로그래머스] 자물쇠와 열쇠

키를 회전 및 이동시켜가며 lock을 풀 수 있는지 확인하는 문제이다.이차원 list를 이용한 구현 문제이다.먼저 lock을 가운데 위치한 $(3N)\\times(3N)$ 크기의 2차원 리스트 board를 만든다.이 떄 키의 가장 왼쪽 위쪽의 위치를 (1, 1) ~ (

2022년 3월 21일
·
0개의 댓글

[BOJ] 가장 큰 정사각형

주어진 배열에서 가장 큰 정사각형을 찾는 문제이다.(0, 0) 지점에서 (n-1, m-1) 지점까지 순회하면서 dp를 활용하여 답을 찾았다.각각의 칸 (r, c)에서는 자신을 둘러싸고 왼쪽+위쪽으로 2x2의 정사각형이 형성되는지 확인이 가능하다. : (r, c), (r

2022년 3월 18일
·
0개의 댓글

[BOJ] 코인1

주어진 합에 맞게 만들 수 있는 동전의 조합의 수를 구하는 문제이다.동전의 사용 범위를 넓혀가면서, 각각의 금액을 만들 수 있는 경우의 수를 누적시키는 식으로 dp를 적용시켰다.outer loop의 coin은 각각의 코인을 순회한다.1번째 동전만 사용 -> 1, 2번째

2022년 3월 18일
·
0개의 댓글

[BOJ] 내리막길

내리막길을 따라서 목적지까지 도달하는 모든 경로의 수를 구하는 문제이다.최단경로가 아니기 때문에 상하좌우 이동이 모두 가능함을 고려해서 코드를 작성해야 한다.각 경로를 통해 목적지까지 도달하는게 가능한지 확인하기 위해 dfs를 사용했다.또한 목적지에 도달하여 재귀호출이

2022년 3월 18일
·
0개의 댓글

[BOJ] 평범한 배낭

https://www.acmicpc.net/problem/12865가장 가치있게 가방을 꾸릴수 있는 물건의 조합을 구하는 문제이다.무게를 점점 늘려가면서 결과를 누적시키는 식으로 dynamic programming을 사용하는 것이 적절하다.backpackwei

2022년 3월 18일
·
0개의 댓글

[BOJ] 역사

사건의 전후 정보쌍들을 이용하여, 임의의 두 사건의 전후 관계를 알아내야 하는 문제이다.플로이드-워셜 알고리즘을 이용하여 모든 사건들간의 전후 관계를 각각 추출해내고,이를 이용하여 임의의 두 사건의 관계를 알아내면 된다.

2022년 3월 18일
·
0개의 댓글

[BOJ] 파티

각 학생들이 X마을로 가는 최소 비용과, X마을에서 돌아오는 최소 비용을 각각 구하고, 오고가는 비용의 합이 가장 큰 학생을 찾아야 하는 문제이다.X마을에서 돌아오는 비용은 시작지점을 X로 다익스트라 알고리즘을 이용하여 계산하면 되고, X마을로 가는 비용은 입력받은 그

2022년 3월 18일
·
0개의 댓글

[BOJ] 도시 분할 계획

두 개의 마을을 구성하는데 필요한 최소 비용을 찾는 문제이다.크루스칼 알고리즘을 이용하여 모든 집들을 연결하는 최소의 비용을 계산하고,해당 길들 중 최대 비용의 길만 제외하면 문제의 조건에 맞는 최소 비용을 찾을 수 있다

2022년 3월 18일
·
0개의 댓글

[프로그래머스] 여행경로

출발지에서 도착점까지의 경로를 찾는 문제로, dfs를 사용했다.입력으로 주어진 티켓들의 정보는 딕셔너리 형태의 ticket_dict로 저장했다.ticket_dict는 각 티켓의 출발지를 key로, 도착지를 value로 저장한다.이 떄, 같은 출발지를 가지는 티켓이 여러

2022년 3월 18일
·
0개의 댓글

[BOJ] 상범이의 은밀한 메세지

문제에서 제시한 조건대로 문자열을 처리해가며 원본 문자열로 변환을 해야 하는 문제이다.먼저 입력으로 주어진 원본의 부분 문자열이 어느 위치의 문자열인지를 찾아야 한다.0에서 len(encrypted) - len(origin) 부분까지 탐색하면서 해당 idx가 부분 원본

2022년 3월 17일
·
0개의 댓글

[프로그래머스] 단어 변환

begin 문자열에서 target 문자열로 변환하는 최단의 변환 경로을 찾는 문제이다.먼저 중간 단계에서 거치는 단어들을 저장하고 있는 words를 이용하여, 각 단어를 key로 저장하고, 한 글자만 바꾸면 변환할 수 있는 단어들의 리스트를 value로 저장한 딕셔너리

2022년 3월 14일
·
0개의 댓글

[프로그래머스] 방의 개수

이동 경로에 의해서 만들어지는 방의 개수를 계산하는 문제이다.각각의 점을 노드로, 그 사이의 이동을 간선으로 생각하면 그래프 문제가 된다.이동 결과 방이 생성되는 것은 사이클이 형성되는 것이다.단, 대각선이 교차하면서 방이 생기는 경우를 고려하기 위해 한 번의 arro

2022년 3월 14일
·
0개의 댓글