[백준/Java] 17070 - [Gold V] 파이프 옮기기 1
·
코딩테스트/백준
[Gold V] 파이프 옮기기 1 - 17070문제 링크성능 요약메모리: 17428 KB, 시간: 196 ms분류다이나믹 프로그래밍, 그래프 이론, 그래프 탐색제출 일자2025년 3월 23일 15:28:29문제 설명유현이가 새 집으로 이사했다. 새 집의 크기는 N×N의 격자판으로 나타낼 수 있고, 1×1크기의 정사각형 칸으로 나누어져 있다. 각각의 칸은 (r, c)로 나타낼 수 있다. 여기서 r은 행의 번호, c는 열의 번호이고, 행과 열의 번호는 1부터 시작한다. 각각의 칸은 빈 칸이거나 벽이다.오늘은 집 수리를 위해서 파이프 하나를 옮기려고 한다. 파이프는 아래와 같은 형태이고, 2개의 연속된 칸을 차지하는 크기이다.파이프는 회전시킬 수 있으며, 아래와 같이 3가지 방향이 가능하다.파이프는 매우 무겁..
[프로그래머스/Java] 12946 - [level 2] 하노이의 탑
·
코딩테스트/프로그래머스
[level 2] 하노이의 탑 - 12946문제 링크성능 요약메모리: 129 MB, 시간: 5.07 ms구분코딩테스트 연습 > 연습문제채점결과정확성: 100.0합계: 100.0 / 100.0제출 일자2025년 03월 22일 16:05:33문제 설명하노이 탑(Tower of Hanoi)은 퍼즐의 일종입니다. 세 개의 기둥과 이 기동에 꽂을 수 있는 크기가 다양한 원판들이 있고, 퍼즐을 시작하기 전에는 한 기둥에 원판들이 작은 것이 위에 있도록 순서대로 쌓여 있습니다. 게임의 목적은 다음 두 가지 조건을 만족시키면서, 한 기둥에 꽂힌 원판들을 그 순서 그대로 다른 기둥으로 옮겨서 다시 쌓는 것입니다.한 번에 하나의 원판만 옮길 수 있습니다.큰 원판이 작은 원판 위에 있어서는 안됩니다.하노이 탑의 세 개의 기..
[프로그래머스/Java] 12971 - [level 3] 스티커 모으기(2)
·
코딩테스트/프로그래머스
[level 3] 스티커 모으기(2) - 12971문제 링크성능 요약메모리: 76 MB, 시간: 7.62 ms구분코딩테스트 연습 > Summer/Winter Coding(~2018)채점결과정확성: 49.7효율성: 50.3합계: 100.0 / 100.0문제 설명N개의 스티커가 원형으로 연결되어 있습니다. 다음 그림은 N = 8인 경우의 예시입니다.원형으로 연결된 스티커에서 몇 장의 스티커를 뜯어내어 뜯어낸 스티커에 적힌 숫자의 합이 최대가 되도록 하고 싶습니다. 단 스티커 한 장을 뜯어내면 양쪽으로 인접해있는 스티커는 찢어져서 사용할 수 없게 됩니다.예를 들어 위 그림에서 14가 적힌 스티커를 뜯으면 인접해있는 10, 6이 적힌 스티커는 사용할 수 없습니다. 스티커에 적힌 숫자가 배열 형태로 주어질 때, ..
[백준/Java] 1620 - [Silver IV] 나는야 포켓몬 마스터 이다솜
·
코딩테스트/백준
[Silver IV] 나는야 포켓몬 마스터 이다솜 - 1620문제 링크성능 요약메모리: 57520 KB, 시간: 480 ms분류자료 구조, 해시를 사용한 집합과 맵문제 설명안녕? 내 이름은 이다솜. 나의 꿈은 포켓몬 마스터야. 일단 포켓몬 마스터가 되기 위해선 포켓몬을 한 마리 잡아야겠지? 근처 숲으로 가야겠어.(뚜벅 뚜벅)얏! 꼬렛이다. 꼬렛? 귀여운데, 나의 첫 포켓몬으로 딱 어울린데? 내가 잡고 말겠어. 가라! 몬스터볼~(펑!) 헐랭... 왜 안 잡히지?ㅜㅜ 몬스터 볼만 던지면 되는 게 아닌가...ㅜㅠ(터벅터벅)어? 누구지?오박사 : 나는 태초마을의 포켓몬 박사 오민식 박사라네. 다솜아, 포켓몬을 잡을 때는, 일단 상대 포켓몬의 체력을 적당히 바닥으로 만들어놓고 몬스터 볼을 던져야 한단다. 자, 내..
[백준/Java] 11660 - [Silver I] 구간 합 구하기 5
·
코딩테스트/백준
[Silver I] 구간 합 구하기 5 - 11660문제 링크성능 요약메모리: 122848 KB, 시간: 736 ms분류다이나믹 프로그래밍, 누적 합제출 일자2025년 2월 16일 16:17:56문제 설명N×N개의 수가 N×N 크기의 표에 채워져 있다. (x1, y1)부터 (x2, y2)까지 합을 구하는 프로그램을 작성하시오. (x, y)는 x행 y열을 의미한다.예를 들어, N = 4이고, 표가 아래와 같이 채워져 있는 경우를 살펴보자.1234234534564567여기서 (2, 2)부터 (3, 4)까지 합을 구하면 3+4+5+4+5+6 = 27이고, (4, 4)부터 (4, 4)까지 합을 구하면 7이다.표에 채워져 있는 수와 합을 구하는 연산이 주어졌을 때, 이를 처리하는 프로그램을 작성하시오.입력첫째 줄..
[백준/Java] 13023 - [Gold V] ABCDE
·
코딩테스트/백준
[Gold V] ABCDE - 13023문제 링크성능 요약메모리: 21132 KB, 시간: 220 ms분류백트래킹, 깊이 우선 탐색, 그래프 이론, 그래프 탐색제출 일자2025년 2월 9일 18:49:30문제 설명BOJ 알고리즘 캠프에는 총 N명이 참가하고 있다. 사람들은 0번부터 N-1번으로 번호가 매겨져 있고, 일부 사람들은 친구이다.오늘은 다음과 같은 친구 관계를 가진 사람 A, B, C, D, E가 존재하는지 구해보려고 한다.A는 B와 친구다.B는 C와 친구다.C는 D와 친구다.D는 E와 친구다.위와 같은 친구 관계가 존재하는지 안하는지 구하는 프로그램을 작성하시오.입력첫째 줄에 사람의 수 N (5 ≤ N ≤ 2000)과 친구 관계의 수 M (1 ≤ M ≤ 2000)이 주어진다.둘째 줄부터 M개의..
[백준/Java] 14719 - [Gold V] 빗물
·
코딩테스트/백준
[Gold V] 빗물 - 14719문제 링크성능 요약메모리: 15488 KB, 시간: 140 ms분류구현, 시뮬레이션제출 일자2025년 2월 9일 18:09:19문제 설명2차원 세계에 블록이 쌓여있다. 비가 오면 블록 사이에 빗물이 고인다.비는 충분히 많이 온다. 고이는 빗물의 총량은 얼마일까?입력첫 번째 줄에는 2차원 세계의 세로 길이 H과 2차원 세계의 가로 길이 W가 주어진다. (1 ≤ H, W ≤ 500)두 번째 줄에는 블록이 쌓인 높이를 의미하는 0이상 H이하의 정수가 2차원 세계의 맨 왼쪽 위치부터 차례대로 W개 주어진다.따라서 블록 내부의 빈 공간이 생길 수 없다. 또 2차원 세계의 바닥은 항상 막혀있다고 가정하여도 좋다.출력2차원 세계에서는 한 칸의 용량은 1이다. 고이는 빗물의 총량을 출..
[백준/Java] 9012 - [Silver IV] 구간 합 구하기 5
·
코딩테스트/백준
[Silver IV] 괄호 - 9012문제 링크성능 요약메모리: 14372 KB, 시간: 108 ms분류자료 구조, 스택, 문자열제출 일자2025년 3월 18일 21:51:01문제 설명괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 부른다. 한 쌍의 괄호 기호로 된 “( )” 문자열은 기본 VPS 이라고 부른다. 만일 x 가 VPS 라면 이것을 하나의 괄호에 넣은 새로운 문자열 “(x)”도 VPS 가 된다. 그리고 두 VPS x 와 y를 접합(concatenation)시킨 새로운 문자열 xy도 VPS 가 된다. 예를 들어 “..
[백준/Java] 2667 - [Silver I] 단지번호붙이기
·
코딩테스트/백준
[Silver I] 단지번호붙이기 - 2667문제 링크성능 요약메모리: 14184 KB, 시간: 100 ms분류너비 우선 탐색, 깊이 우선 탐색, 그래프 이론, 그래프 탐색제출 일자2025년 1월 19일 15:17:28문제 설명과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여기서 연결되었다는 것은 어떤 집이 좌우, 혹은 아래위로 다른 집이 있는 경우를 말한다. 대각선상에 집이 있는 경우는 연결된 것이 아니다. 는 을 단지별로 번호를 붙인 것이다. 지도를 입력하여 단지수를 출력하고, 각 단지에 속하는 집의 수를 오름차순으로 정렬하여 출력하는 프로그램을 작성하시오.입력첫..
[백준/Java] 11403 - [Silver I] 경로 찾기
·
코딩테스트/백준
[Silver I] 경로 찾기 - 11403문제 링크성능 요약메모리: 16216 KB, 시간: 164 ms분류플로이드–워셜, 그래프 이론, 그래프 탐색, 최단 경로제출 일자2024년 12월 30일 22:07:57문제 설명가중치 없는 방향 그래프 G가 주어졌을 때, 모든 정점 (i, j)에 대해서, i에서 j로 가는 길이가 양수인 경로가 있는지 없는지 구하는 프로그램을 작성하시오.입력첫째 줄에 정점의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄부터 N개 줄에는 그래프의 인접 행렬이 주어진다. i번째 줄의 j번째 숫자가 1인 경우에는 i에서 j로 가는 간선이 존재한다는 뜻이고, 0인 경우는 없다는 뜻이다. i번째 줄의 i번째 숫자는 항상 0이다.출력총 N개의 줄에 걸쳐서 문제의 정답을 인접행렬 형..