백준 14501문제 바로가기 우선 처음에 이 문제를 접했을 때 가장 처음에 든 생각이 DP로 풀어야하나? 라는 생각이었다.i까지의 최대비용을 구하고 그걸 N까지로 늘려나가면서 DP리스트의 마지막 값이 최종 결과가 되도록 구현하고자 했다.DP를 과거에 알고리즘 시간에 배
백준 14503 로봇청소기 바로가기우선 처음 문제를 봤을때 어? 그냥 DFS나 BFS로 풀면 되는거 아닌가? 라고 생각했다. 하지만 문제에서 주어진 예제와 요구사항을 보니 그게 아니었다.문제에서 요구하는 것은 로봇청소기가 멈췄을때의 청소한 칸의 개수였다.로봇청소기가 멈
백준 14499 주사위 굴리기 바로가기주사위의 움직임 구현맵과 주사위 값 비교 및 입력따라서 우선 주사위의 움직임부터 구현했다.주사위가 처음에 아래와 같은 리스트 형태로 있다고 가정하자.1,2,3,4,5,6 윗면이 1 동쪽이 3 서쪽이 4 아랫면이 6 북쪽이 2 남쪽이
백준 14502 연구소 바로가기 이 문제를 처음 봤을 때 BFS를 사용해야겠다고 바로 생각이 들었다. 총 3단계로 문제를 나눴다. 벽 3개 세우기 바이러스가 퍼지기 0의 개수 카운트하기 우선 벽 3개를 세우는 알고리즘은 완전탐색을 선택했다. 그 이유는 최대 세로,
백준 14500 테트로미노 문제 바로가기문제를 보면 테트로미노의 정의가 나와있다. 정사각형은 서로 겹치면 안 된다.도형은 모두 연결되어 있어야 한다.정사각형의 변끼리 연결되어 있어야 한다. 즉, 꼭짓점과 꼭짓점만 맞닿아 있으면 안 된다.그리고 5개의 도형 사진이 있다.
백준 14888 연산자 끼워넣기 바로가기N개의 수로 이뤄진 수열 A의 사이사이에 주어지는 연산자로 넣어 최대값과 최솟값을 구하는 문제이다. 문제를 보고 완전탐색으로 풀어야 한다는 것을 알 수 있다.수의 개수가 최대 11개이기 때문에 충분하다.그렇다면 연산자를 모든 경우
백준 14889 문제 바로가기N=4이고, S가 아래와 같은 경우를 살펴보자.예를 들어, 1, 2번이 스타트 팀, 3, 4번이 링크 팀에 속한 경우에 두 팀의 능력치는 아래와 같다.스타트 팀: S12 + S21 = 1 + 4 = 5링크 팀: S34 + S43 = 2 +
백준 14890 경사로 문제 바로가기입력으로는 지도의 크기, 경사로의 길이, 높이가 들어가고 출력으로는 지나갈 수 있는 길의 개수가 되어야 한다.예시경사로는 낮은 칸에 놓으며, L개의 연속된 칸에 경사로의 바닥이 모두 접해야 한다.낮은 칸과 높은 칸의 높이 차이는 1이
백준 14891 톱니바퀴 문제 바로가기총 4개의 톱니바퀴가 있다. 왼쪽부터 차례대로 1, 2, 3, 4번이고 각각의 톱니바퀴의 톱니에는 N,S가 써져있다. 1번째 톱니바퀴를 시계방향으로 돌린다고 가정할 때 2번째 톱니바퀴와 맞닿는 부분이 N, S중 같다면 2번째 톱니바
백준 15685번 문제 바로가기드래곤 커브라는 모형이 있다.예를 들어 방향이 오른쪽으로 시작하는 드래곤 커브는 아래와 같다.입력에 N개의 드래곤 커브가 주어지고각각의 드래곤 커브의 시작점, 세대, 방향이 주어진다.이 때 100X100의 지도에 드래곤 커브를 칠하고 1X
백준 15686번 문제 바로가기A라는 집과 치킨집과의 거리를 A의 치킨거리라고 한다.도시에 존재하는 모든 집들의 치킨거리를 합한 값을 도시의 치킨거리라고 한다.A의 치킨거리는 치킨집들중에 가장 가까운 치킨집과의 거리를 말한다. 치킨집들중에 M개의 치킨집을 제외하고 모두
백준 15684번 사다리 조작 문제 바로가기처음 시작한 번호와 마지막 끝난 번호가 같도록 사다리를 조작해야한다.우리는 이 조작을 위해서 가로선을 둘 수 있는데 가로선의 개수는 최대 3개까지 둘 수 있다.만약 가로선이 3을 넘거나 조작을 통해 목표를 이룰 수 없다면 -1
백준 5373번 문제 바로가기이 문제는 간단하게 말하면 맞춰진 큐브를 입력에서 주어진대로 회전시키고 그 때의 윗면의 색깔을 출력하면 되는 간단한 문제이다.하지만 실제로는 간단하지가 않았다...우선 큐브를 구현하고 큐브의 동작들을 생각하는 부분에서 많이 머리가 아팠다..
백준 16234번 인구 이동 문제 바로가기문제를 간단히 말하면 인접해있는 칸에 써져있는 숫자의 차이가 L이상 R이하라면 그 칸들을 연합이라고 하여 숫자를 모두 더한 값에 연합에 들어간 칸에 개수를 나누고 이를 연합인 칸들에 다시 넣어주면 된다.이때 더이상 이 연산을 진
백준 16236번 아기 상어 문제 바로가기아기 상어가 어디로 이동할지 결정하는 방법은 아래와 같다.더 이상 먹을 수 있는 물고기가 공간에 없다면 아기 상어는 엄마 상어에게 도움을 요청한다.먹을 수 있는 물고기가 1마리라면, 그 물고기를 먹으러 간다.먹을 수 있는 물고기
백준 17144번 미세먼지 안녕! 문제 바로가기위와 같은 격자판에서 숫자가 존재하는 칸은 주변으로 확산된다.공기청정기의 중간을 기준으로 위는 반시계, 아래는 시계 방향으로 회전한다.이 두가지 일이 1초에 일어난다.T초 후에 미세먼지의 총량을 구하시오문제를 딱 처음보고
백준 16235번 나무 재테크 문제 바로가기문제에 주어진대로 구현하면 되는 그냥 단순한 구현 문제이다.. 근데 시간초과 기준이 너무 짜다.......시간초과가 많이 났다..ㅠ아래는 문제다봄에는 나무가 자신의 나이만큼 양분을 먹고, 나이가 1 증가한다. 각각의 나무는 나
백준 17143번 낚시왕 문제 바로가기낚시왕은 처음에 1번 열의 한 칸 왼쪽에 있다. 다음은 1초 동안 일어나는 일이며, 아래 적힌 순서대로 일어난다. 낚시왕은 가장 오른쪽 열의 오른쪽 칸에 이동하면 이동을 멈춘다.낚시왕이 오른쪽으로 한 칸 이동한다.낚시왕이 있는 열에
백준 17140번 이차원 배열과 연산 문제 바로가기문제크기가 3×3인 배열 A가 있다. 배열의 인덱스는 1부터 시작한다. 1초가 지날때마다 배열에 연산이 적용된다.R 연산: 배열 A의 모든 행에 대해서 정렬을 수행한다. 행의 개수 ≥ 열의 개수인 경우에 적용된다.C 연
백준 2167번 2차원 배열의 합 문제 바로가기문제2차원 배열이 주어졌을 때 (i, j) 위치부터 (x, y) 위치까지에 저장되어 있는 수들의 합을 구하는 프로그램을 작성하시오. 배열의 (i, j) 위치는 i행 j열을 나타낸다.입력첫째 줄에 배열의 크기 N, M(1 ≤
백준 17779번 게리맨더링2 문제 바로가기2차원의 지도에서 총 5개의 구역으로 나누고, 그 때의 가장 많은 인구가 들어간 구역과 가장 적은 인구가 들어간 구역의 차의 최솟값을 구하는 것이 문제의 요점이다.5개의 구역으로 나누는 방법은 아래와 같다.기준점 (x, y)와
SWEA 1206. \[S/W 문제해결 기본] 1일차 - View 문제 바로가기아래와 같은 빌딩들이 있을 때 조망권이 확보되는 집의 개수를 구하는 문제이다.조망권은 양옆 2칸내에 나의 위치보다 높은 위치가 없을 경우에 확보된다.A는 2칸 오른쪽의 집 때문에 조망권을 확
백준 1260번 DFS와 BFS 문제 바로가기문제그래프를 DFS로 탐색한 결과와 BFS로 탐색한 결과를 출력하는 프로그램을 작성하시오. 단, 방문할 수 있는 정점이 여러 개인 경우에는 정점 번호가 작은 것을 먼저 방문하고, 더 이상 방문할 수 있는 점이 없는 경우 종료
백준 2178번 미로탐색 문제 바로가기N×M크기의 배열로 표현되는 미로가 있다.1 0 1 1 1 11 0 1 0 1 01 0 1 0 1 11 1 1 0 1 1미로에서 1은 이동할 수 있는 칸을 나타내고, 0은 이동할 수 없는 칸을 나타낸다. 이러한 미로가 주어졌을 때,
백준 2606번 바이러스 문제 바로가기이 문제는 1번 컴퓨터로부터 시작된 바이러스가 몇개의 컴퓨터로 퍼져나가는지를 세는 문제이다.아래의 그림에서 1번 컴퓨터와 연결되어 있는 컴퓨터는 2,3,5,6번으로 총 4개의 컴퓨터가 추가적으로 감염된다.입력에는 총 컴퓨터의 개수,
2차원 그래프 (NxN)이 주어진다.1은 집이 있다는 것을 의미하고 0은 집이 없음을 의미한다.각 집들이 상하좌우로 이어져있다면 이를 하나의 단지로 본다.대각선은 하나의 단지가 아니다.우리는 이 단지가 몇개가 있는지, 각 단지의 집의 개수는 몇개인지를 알아내야한다.아래
백준 2644번 촌수계산 문제 바로가기우리 나라는 가족 혹은 친척들 사이의 관계를 촌수라는 단위로 표현하는 독특한 문화를 가지고 있다. 이러한 촌수는 다음과 같은 방식으로 계산된다. 기본적으로 부모와 자식 사이를 1촌으로 정의하고 이로부터 사람들 간의 촌수를 계산한다.
백준 7569번 토마토 문제 바로가기위와 같은 상자에 토마토들이 들어 있다!익은 토마토가 들어있다면 1 비어있다면 -1, 안익은 토마토가 있다면 0을 입력으로 받는다.안익은 토마토들은 익은 토마토가 인접해 있을 때 하루가 지나면 익게된다.인접해있다는 기준은 상하좌우앞뒤
백준 1697번 숨바꼭질 문제 바로가기문제만 보면 되게 간단해보이는 문제이다! 하지만 정답률이 25%라서 조금 떨면서 시작했다!하지만 풀면서 느낀점은 그렇게 어려운 문제는 아니라는 것. BFS문제를 조금이라도 풀어봤다면 쉽게 생각할 수 있었다.우선 이 문제를 보고 x-
백준 5014번 스타트링크 문제 바로가기문제강호는 코딩 교육을 하는 스타트업 스타트링크에 지원했다. 오늘은 강호의 면접날이다. 하지만, 늦잠을 잔 강호는 스타트링크가 있는 건물에 늦게 도착하고 말았다.스타트링크는 총 F층으로 이루어진 고층 건물에 사무실이 있고, 스타트
백준 2468번 안전 영역 문제 바로가기문제재난방재청에서는 많은 비가 내리는 장마철에 대비해서 다음과 같은 일을 계획하고 있다. 먼저 어떤 지역의 높이 정보를 파악한다. 그 다음에 그 지역에 많은 비가 내렸을 때 물에 잠기지 않는 안전한 영역이 최대로 몇 개가 만들어
1년이 지날때마다, 주위의 바닷물의 개수만큼 빙산의 높이가 감소한다.빙산덩어리란 빙산이 상하좌우로 이어져있다면 이를 빙산 덩어리라고 한다.빙산 덩어리의 개수가 몇년이 지나야 2개 이상이 되는가?만약 빙산이 다 녹을때까지 2개 이상이 되지 않는다면 0을 출력해라아래의 그
백준 9205번 맥주 마시면서 걸어가기 문제 바로가기문제송도에 사는 상근이와 친구들은 송도에서 열리는 펜타포트 락 페스티벌에 가려고 한다. 올해는 맥주를 마시면서 걸어가기로 했다. 출발은 상근이네 집에서 하고, 맥주 한 박스를 들고 출발한다. 맥주 한 박스에는 맥주가
백준 13549번 숨바꼭질 3 문제 바로가기숨바꼭질 문제와 매우 유사한 문제이다.차이점으로는 X2를 할때는 시간이 지나지 않는다는 것이다.문제수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤
백준 16637번 괄호 추가하기 문제 바로가기문제길이가 N인 수식이 있다. 수식은 0보다 크거나 같고, 9보다 작거나 같은 정수와 연산자(+, -, ×)로 이루어져 있다. 연산자 우선순위는 모두 동일하기 때문에, 수식을 계산할 때는 왼쪽에서부터 순서대로 계산해야 한다.
아래는 n=3인 표이다.아래와 같이 Z모양으로 수가 증가하는 것을 알 수 있다. 0~7에 0~3이 0~3안에 0~1이 있다.r, c를 입력받고 r행 c열에 있는 숫자를 출력하면 된다. 처음에는 이 문제 그대로 배열을 생성하고 이를 재귀를 통해 숫자를 채워주는 방식으로
아래는 n=3인 표이다.아래와 같이 Z모양으로 수가 증가하는 것을 알 수 있다. 0~7에 0~3이 0~3안에 0~1이 있다.r, c를 입력받고 r행 c열에 있는 숫자를 출력하면 된다. 처음에는 이 문제 그대로 배열을 생성하고 이를 재귀를 통해 숫자를 채워주는 방식으로
백준 1107 리모컨 문제 바로가기문제수빈이는 TV를 보고 있다. 수빈이는 채널을 돌리려고 했지만, 버튼을 너무 세게 누르는 바람에, 일부 숫자 버튼이 고장났다.리모컨에는 버튼이 0부터 9까지 숫자, +와 -가 있다. +를 누르면 현재 보고있는 채널에서 +1된 채널로
백준 1389 케빈 베이컨의 6단계 법칙 문제 바로가기문제케빈 베이컨의 6단계 법칙에 의하면 지구에 있는 모든 사람들은 최대 6단계 이내에서 서로 아는 사람으로 연결될 수 있다. 케빈 베이컨 게임은 임의의 두 사람이 최소 몇 단계 만에 이어질 수 있는지 계산하는 게임이
백준 1463번 1로 만들기 문제 바로가기문제정수 X에 사용할 수 있는 연산은 다음과 같이 세 가지 이다.X가 3으로 나누어 떨어지면, 3으로 나눈다.X가 2로 나누어 떨어지면, 2로 나눈다.1을 뺀다.정수 N이 주어졌을 때, 위와 같은 연산 세 개를 적절히 사용해서
백준 1620번 나는야 포켓몬 마스터 이다솜 문제 바로가기문제가 이상하다.보고 내 눈이 잘못된줄 아라따..........문제를 보면 그냥 스토리가 웃기다 ㅎㅎㅋㅎㅋㅎㅋㅎ그래서 스토리 다 건너띄고 문제부터 봤다. ㅎ문제를 설명하자면 간단하다.N M을 입력받고 N개의 포켓
백준 1764번 듣보잡 문제 바로가기문제김진영이 듣도 못한 사람의 명단과, 보도 못한 사람의 명단이 주어질 때, 듣도 보도 못한 사람의 명단을 구하는 프로그램을 작성하시오.입력첫째 줄에 듣도 못한 사람의 수 N, 보도 못한 사람의 수 M이 주어진다. 이어서 둘째 줄부터
백준 2579번 계단 오르기 문제 바로가기문제계단 오르기 게임은 계단 아래 시작점부터 계단 꼭대기에 위치한 도착점까지 가는 게임이다. <그림 1>과 같이 각각의 계단에는 일정한 점수가 쓰여 있는데 계단을 밟으면 그 계단에 쓰여 있는 점수를 얻게 된다.<그림
문제한 개의 회의실이 있는데 이를 사용하고자 하는 N개의 회의에 대하여 회의실 사용표를 만들려고 한다. 각 회의 I에 대해 시작시간과 끝나는 시간이 주어져 있고, 각 회의가 겹치지 않게 하면서 회의실을 사용할 수 있는 회의의 최대 개수를 찾아보자. 단, 회의는 한번 시
5215 햄버거 다이어트 문제 바로가기문제를 처음 보고 과거에 알고리즘 강의에서 배운 0/1knapsack이 생각났다. 그래서 그 방법으로 풀어도 되겠다고 생각했는데, 오랜만에 하려고 하다보니 생각도 잘 안나고 쉽지 않았다...... 이래서 복습이 중요한건데ㅜ그래서 D
SWEA 2817번 부분수열의 합 문제 바로가기문제를 보면 N개의 수열중에서 합이 K가 되는 부분수열의 경우의 수를 구하라고 되어있다.따라서 가장 쉬운 방법은 모든 경우를 진행해보는 것이다.부분수열은 어떻게 만드느냐? 각 수열의 숫자를 포함하는지 안하는지로 나눌 수 있
SWEA 2814번 최장경로 문제 바로가기경로의 최장길이를 구하는 문제이다. 그래프문제이기 때문에 DFS를 사용해서 풀어야겠다고 생각했다.node의 시작점에 따라서 최장경로가 바뀌기 때문에 모든 node에서 한번씩 시작해보고 그중 가장 큰 값을 출력하면 된다.입력된 값
SWEA 4615 재미있는 오셀로 게임 문제 바로가기돌을 어디에 놓는지는 정해져있기 때문에 돌을 뒀다라는 것은 상하좌우대각선 어딘가에 색깔이 바뀌어야 하는 돌이 있다는 뜻이다.이 때 바뀌어야 하는 돌이 한방향에만 있을 수도 있고 여러 방향에 있을 수도 있다.따라서 방향
SWEA 1860번 진기의 최고급 붕어빵 문제 바로가기for문으로 시간을 1초씩 증가시켜주면서 붕어빵의 개수가 0미만이 되는 순간이 발생한다면 Impossible을 출력하고 그런 경우가 없다면 Possible을 출력하는 방식으로 접근해야 된다고 생각했다.따라서 for문
오목 판정 문제이다. 오목판이 주어지면 지금 상태가 오목성공인지 실패인지를 나타내는 문제다!오목판이 주어지기 때문에 우선 오목판을 저장해주고 시작하도록 한다.그리고 오목인지 확인해야 되는데 이 부분을 나는 DFS를 사용해서 풀어줬다.DFS를 사용한 이유는 방향이 있는
0/1 Knapsack 문제는 가방에 물건을 선택하여 넣거나 (1), 선택하지 않거나(0)의 문제이다.가치를 판단하여 넣어야 하는 문제로 Backtracking으로 풀이할 수도 있고 DP로 풀이할 수도 있다.DP의 점화식을 세우는 것을 먼저 목표로 삼고 진행했다.DP의
사실 이 문제는 문제를 이해하는데 더 시간이 걸렸다.예제를 보면 입력이 2 4 7 10 인데 이 중 A_i X A_j 의 최대가 28이라는 게 이해가 안됐다. 입력이 2 4 7 10이면 단조인 수이고 따라서 최대값은 70이 되어야 되는거 아닌가? 라고 생각했다.하지만
1번의 swap으로 현재의 숫자를 최대 또는 최소로 만들 때의 최댓값과 최솟값을 찾아야 한다.따라서 두가지 방법이 있는 것 같다.하나는 가장 간단한 완전탐색이다. 모든 경우를 돌아가면서 swap을 진행하고 그 중 가장 큰 수, 작은 수를 저장하는 것이 가장 간단하다.
유명한? DP문제다.작은 문제로 쪼개보면 우리는 LISi = A0 … Ai 부수열에 대해, Ai로 끝나는 증가 부수열 중에서 가장 긴 부문자열의 길이라고 정의해보자.정답 LIS는 A0, A1, …, An-1 중 하나의 값으로 반드시 끝나므로 LIS 길이는 max(LIS
들어오고 나가는 것을 잘 체크해주면 되는 문제이다.두가지 경우로 나눠서 볼 수 있겠는데, 주차장에 자리가 있을 경우와 없을 경우를 생각하면 된다.자리가 있을 경우에는 가장 작은 주차번호에 그대로 넣어주면 되고, 만약 자리가 없다면 waiting list 큐에 넣어두어서
SWEA 13038 교환학생 문제 바로가기이 문제는 정해져있는 수업일정 내에서 학생이 얼만큼 학교에 머무르며 수업을 들어야 하는지를 묻는 문제이다.문제에서 개강일자가 나오지 않았기 때문에 학생은 화요일날 개강할 수도 있고, 목요일날, 일요일날 개강할 수도 있다. 따라서
SWEA 3752 가능한 시험 점수 문제 바로가기점수의 배점이 주어지기 때문에 각각의 배점을 선택하거나, 하지 않거나로 풀 수 있다. 따라서 처음에는 dfs로 문제를 풀고자했다. 하지만 result에 계속해서 많은 값이 들어가다보니 아무래도 메모리 오버플로우가 발생하게
SWEA 1209 SUM 문제 바로가기이 문제는 100X100의 2차원 배열을 주고 그 2차원 배열의 가로, 세로, 대각선을 모두 더했을때 가장 큰 값을 출력해야 하는 문제이다.따라서 완전탐색을 진행하고자 했다.가로의 합세로의 합대각선의 합결과 비교가로의 합과 같은 경
SWEA 1209 SUM 문제 바로가기이 문제는 100X100의 2차원 배열을 주고 그 2차원 배열의 가로, 세로, 대각선을 모두 더했을때 가장 큰 값을 출력해야 하는 문제이다.따라서 완전탐색을 진행하고자 했다.가로의 합세로의 합대각선의 합결과 비교가로의 합과 같은 경
문제가 복잡해 보이지만 간단히 말하면 N,S짝을 찾아서 카운트하는 문제이다.위에 N극이 있으므로 N극부터 시작해야 테이블 밑으로 떨어진 것을 카운트하지 않는다.N부터 시작해 S로 끝난다. 따라서 N을 발견하면, S를 발견할 때 카운트를 1한다. S말고 N을 발견하면 카
SWEA 1225. \[S/W 문제해결 기본] 7일차 - 암호생성기1사이클은 1감소, 2감소, 3감소, 4감소, 5감소이다.가장 왼쪽에 수만 계산하여 뒤에 append한다.가장 왼쪽에 수가 계산했을 때 0이하가 된다면 계산을 그만하고 0을 추가한 후 종료한다.nums라
1240\. \[S/W 문제해결 응용] 1일차 - 단순 2진 암호코드 문제가 굉장히 복잡하다. 하지만 문제만 제대로 이해한다면 그렇게 어려운 문제는 아니었다.문제를 다시 설명해주자면 8자리의 암호문이 있다. 암호문이 올바른 암호문인가를 알기 위해서는 이 8자리 암호문의
SWEA 1493. 수의 새로운 연산 문제 바로가기처음에 문제를 접했을 때는 2차원 배열을 선언하여 모든 수를 넣어줘야 하나? 라는 생각이 들었다. 하지만 그렇게 되면 메모리의 소모가 굉장히 클것이기 때문에 규칙성을 찾으려 노력했다.숫자를 알때에는 숫자에서 1부터 n까
SWEA 1249 보급로 문제 바로가기보자마자 BFS다! 라고 외칠 수 있던 문제였다.따라서 BFS로 풀어가는 도중에 문제를 잘못보고 최소거리에서, 최소의 시간으로 풀어버렸다... 그래서 왜 안되지... 하면서 DP로도 풀고 BFS로도 풀었다..결국 둘 다 똑같이 안되
SWEA 2819. 격자판의 숫자 이어 붙이기 문제 바로가기4by4의 격자판에서 임의의 위치에서 시작해 상하좌우로 움직이며 격자판의 숫자들을 이어붙이고, 그 서로 다른 이어붙인 숫자들의 개수를 구하면 되는 문제이다.따라서 숫자들을 이어붙이기 편리한 DFS를 사용하여 구
SWEA 1210. \[S/W 문제해결 기본] 2일차 - Ladder1 문제 바로가기우선 도착점에 해당하는 출발지를 찾아야 하기에 도착점부터 시작하여 사다리를 올라가는 방식으로 구현하도록 한다.처음에는 간단하게 재귀함수로 좌, 우, 상의 순서대로 파악하면서 가면 될 줄
SWEA 6485 삼성시의 버스 노선 문제 바로가기문제를 보고 버스정류장, 버스 노선을 각각 구현하고 반복문을 통해서 각 버스 노선에 일치하는 정류장마다 1을 추가해주는 방식으로 구현하고자 했다. 3중 for문을 사용해도 시간초과가 되지 않는 것으로 봐서 굉장히 널널하
SWEA 1954. 달팽이 숫자 문제 바로가기달팽이 숫자란 1씩 증가하는 수열을 달팽이 모양으로 출력하는 것을 말한다.ex) 1 2 38 9 47 6 5끝에 닿으면 방향이 일정하게 바뀌는 규칙이 존재하기 때문에 재귀함수로 풀어야겠다고 먼저 생각이 들었다.파라미터로는 방
SWEA 1244. \[S/W 문제해결 응용] 2일차 - 최대 상금 문제 바로가기이 문제는 처음 접근할 때 그리디로 생각했다..하지만 그리디로 접근할 경우에 많은 조건을 추가적으로 붙여줘야 해서 아무래도 완전탐색으로 풀어야겠다고 생각했다.완전탐색으로 풀기 전에 생각해야
\[PCCP 기출문제] 2번 / 석유 시추 바로가기이 문제는 2가지 단계로 풀었다.석유의 양 구하기정사영하기석유의 양을 구하기 위해서 1인 위치에서 상하좌우로 이어져있는 칸수를 구해야 한다. 이를 위해서 BFS를 사용했다. BFS로 1인 부분을 찾으면 주변을 탐색하면서
백준 2096번 내려가기 문제 바로가기 링크문제 설명N줄에 0 이상 9 이하의 숫자가 세 개씩 적혀 있다. 내려가기 게임을 하고 있는데, 이 게임은 첫 줄에서 시작해서 마지막 줄에서 끝나게 되는 놀이이다.먼저 처음에 적혀 있는 세 개의 숫자 중에서 하나를 골라서 시작하
백준 9095번 1,2,3 더하기 문제 바로가기이 문제는 얼핏보면 완전탐색 문제로 볼 수 있다.사실 완전탐색이 가장 쉬운 방법이긴 하지만 완전탐색의 경우에 모든 경우를 확인해야 하기 때문에 시간이 많이 걸린다.예전에는 완전탐색으로 먼저 풀어보고 시간초과가 발생하면 다른
백준 11399번 ATM 문제 바로가기인하은행에는 ATM이 1대밖에 없다. 지금 이 ATM앞에 N명의 사람들이 줄을 서있다. 사람은 1번부터 N번까지 번호가 매겨져 있으며, i번 사람이 돈을 인출하는데 걸리는 시간은 Pi분이다.사람들이 줄을 서는 순서에 따라서, 돈을
백준 21608번 상어초등학교 문제 바로가기이 문제는 두 부분으로 나누어 풀 수 있겠다.자리 배치하기만족도 구하기자리 배치하기에서는 모든 자리의 상하좌우를 확인해서 빈칸이 몇개인지, 좋아하는 사람이 몇명있는지를 저장한다.이렇게 저장한 내용들을 우선순위에 따라서 정렬하고
백준 기적의 매매법 문제 바로가기준현이는 구매를 할 수는 있지만 매도를 하지는 않는다.성민이는 3일 내내 가격이 하락하면 전량 매수하고 3일 내내 가격이 상승하면 전량 매도한다.따라서 준현이는 주식을 구매할 수 있을 때마다 전량 매수한다.성민이는 몇일동안 주식이 올랐는
백준 빙고 문제 바로가기빙고는 거의 민속놀이라 다들 아실거같숩니다.사회자가 몇 번째 수를 부른 후 빙고가 3개 이상이 되는지를 출력하는 프로그램을 만들어야 합니다.그래서 저는 부른 숫자를 체크하는 기능과 빙고판에 빙고가 몇개인지를 확인하는 기능을 구현해서 그때의 사회자
백준 4396번 지뢰 찾기 문제 바로가기다들 지뢰 찾기는 한번씩 해봤을것이다!이 문제는 지뢰 찾기의 흐름을 그대로 가져가는 문제이다.지금까지 열린 칸을 입력으로 주고 지뢰를 아직까지 밟지 않았다면 열린칸에 숫자를 출력하라고 하고 만약 지뢰를 밟았다면 열린칸에 숫자를 출
백준 10994번 별 찍기 - 19 문제 바로가기코테를 자바로도 연습해보고 싶어서 자바로 풀어봤다!예제의 입력과 출력을 보고 규칙을 찾아내야 하는 문제였다.1을 입력했을 때 2차원 배열의 크기는 1이고2 -> 53 -> 94 -> 13이었다. 여기서 우리는 규칙을 찾아
백준 16719번 ZOAC 문제 바로가기2018년 12월, 처음 시작하게 된 ZOAC의 오프닝을 맡은 성우는 누구보다 화려하게 ZOAC를 알리려 한다.앞 글자부터 하나씩 보여주는 방식은 너무 식상하다고 생각한 성우는 문자열을 보여주는 새로운 규칙을 고안해냈다!규칙은 이
백준 15787번 기차가 어둠을 헤치고 은하수를 문제 바로가기이 문제에서 3번과 4번 명령을 보고 비트를 떠올렸다.비트연산에서 shift연산과 매우 유사했다.따라서 비트로 변환하여 문제를 풀어야겠다고 생각했고, 비트로 명령들을 모두 수행한 후에는 set연산을 통해서 리
백준 22860번 폴더 정리(small) 문제 바로가기이 문제는 되게 복잡해 보이지만 단순하게 보면 입력에서 주어지는 값들을 토대로 트리 구조를 만들고, 여러 개의 쿼리문에 대한 출력으로 해당 폴더 하위에 존재하는 모든 파일들의 종류과 개수를 출력하면 되는 문제이다.따
프로그래머스 2024 KAKAO WINTER INTERNSHIP 도넛과 막대 그래프 문제 바로가기이 문제를 푸는 방법은 크게 3가지로 나눌 수 있다!1\. dictionary로 그래프 구현하기2\. 생성된 정점을 찾기3\. 각 그래프들의 차이점 찾기dictionary로
프로그래머스 2023 KAKAO BLIND RECRUITMENT 택배 배달과 수거하기 문제 바로가기(https://school.programmers.co.kr/learn/courses/30/lessons/150369문제가 쉬워보이지는 않았던 것 같은데 규칙만
백준 17837번 새로운 게임 2 문제 바로가기위의 체스판에서 방향을 가지고 체스를 움직이면서 한칸에 말이 4개가 되는 때가 있다면 턴을 출력하면 되는 문제이다.각 칸으로 이동하려고 할때는 아래의 조건을 따른다.A번 말이 이동하려는 칸이흰색인 경우에는 그 칸으로 이동한
정수 삼각형 문제 바로가기그러하다전형적인 dp문제이지 않나 싶다@!그리디 문제라고 생각할 수 도 있는데 왼쪽에 큰 수를 넣어두고 맨 아래 오른쪽에 9999를 넣어두면 정답이 틀릴 수 있기에 모든 수를 확인해봐야 한다.따라서 현재 값 + 위까지의 합 중 큰 값을 저장하여
프로그래머스 광물 캐기 문제 바로가기광물 피로도 표음 보고 생각을 좀 했던 문제이다.내가 푼 풀이는 아래와 같다. 다른 사람들은 다르게 풀었을 수도 있을 것 같다.광물의 개수가 30까지밖에 없기때문에 모든 광물을 5로 끊어서 각각 다이아, 철, 돌로 캤을 때의 피로도를
프로그래머스 혼자 놀기의 달인 문제 바로가기문제에서 열려있는 상자를 만나면 종료, 상자안에 다음 상자의 번호가 들어있음이라는 조건들을 보고 완전탐색으로 확인하고 가장 큰 그룹 두개의 개수를 곱하면 될 것으로 생각하고 문제를 풀었다.완전탐색을 DFS로 구현했다. 현재 상
프로그래머스 미로 탈출 문제 바로가기간단히 생각하면 start에서 레버를 당기러 갔다가 Exit로 가는 최소거리를 구하는 문제이다.x로는 지나갈 수 없고 o로만 지나갈 수 있다.이러한 표와 같은 좌표문제는 거의 무조건 BFS로 풀었었고, 최소거리를 구하는 문제이기 때문