알고리즘
-
[백준] 2096번 : 내려가기 - 자바(JAVA)알고리즘/백준 2022. 5. 2. 00:01
https://www.acmicpc.net/problem/2096 2096번: 내려가기 첫째 줄에 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 숫자가 세 개씩 주어진다. 숫자는 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 중의 하나가 된다. www.acmicpc.net 문제 해석 N 줄에 0 이상 9 이하의 숫자가 세 개씩 적혀 있다. 이 게임은 첫 줄에서 시작해서 마지막 줄에서 끝나게 된다. 먼저 처음 세 개의 숫자 중에서 하나를 골라서 시작한다. 다음 줄로 내려갈 떄는 바로 아래의 수로 넘어가거나, 바로 아래의 수와 붙어있는 수로만 이동할 수 있다. 숫자 표가 주어져 있을 때 얻을 수 있는 최대 점수, 최소 점수를 구하는 프로그램을 작성해라. 점수는 이동한 곳의 수의 합이..
-
1218. [S/W 문제해결 기본] 4일차 - 괄호 짝짓기알고리즘/SW Expert Academy 2022. 5. 1. 00:01
https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV14eWb6AAkCFAYD SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 문제 해석 4 종류의 괄호문자들 '()', '[]', '{}', '' 로 이루어진 문자열이 주어진다. 이 문자열에 사용된 괄호들의 짝이 모두 맞는지 판별하는 프로그램을 작성한다. 예를 들어 아래와 같은 문자열은 유효하다고 판단할 수 있다. 아래와 같은 문자열은 유효하지 않은 문자열이다. 붉은색으로 표시된 괄호의 짝을 찾을 수 없기 때문이다. 아래 문자열은 열고 닫는 괄호의 개수는 유효하나 짝이 맞지..
-
[백준] 2515번 : 전시장 - 자바(Java)알고리즘/백준 2022. 4. 30. 00:01
https://www.acmicpc.net/problem/2515 2515번: 전시장 첫째 줄에는 그림의 개수 N (1 ≤ N ≤ 300,000)과 판매가능 그림을 정의하는 1이상의 정수 S가 빈칸을 사이에 두고 주어진다. 다음 이어지는 N개의 줄 각각에는 한 그림의 높이와 가격을 나타내는 정 www.acmicpc.net 문제 해석 그림에는 가격이 매겨져 있으며 폭은 모두 동일하지만 높이는 다를 수 있습니다. 왼쪽 그림은 C, B, A, D의 순서로 겹쳐서 배치한 상황을 보여줍니다. 오른쪽 그림은 전시된 그림들의 배치를 옆에서 본 모양입니다. 관람객은 보이는 부분의 세로 길이가 특정 정수 S이상인 그림만 구매합니다. 그림의 높이와 가격이 주어질 때 판매 가능 그림들의 가격의 합이 최대가 되도록 그림을 배..
-
[백준] 1520번 : 내리막 길 - 자바(JAVA알고리즘/백준 2022. 4. 29. 00:01
https://www.acmicpc.net/problem/1520 1520번: 내리막 길 여행을 떠난 세준이는 지도를 하나 구하였다. 이 지도는 아래 그림과 같이 직사각형 모양이며 여러 칸으로 나뉘어져 있다. 한 칸은 한 지점을 나타내는데 각 칸에는 그 지점의 높이가 쓰여 있으 www.acmicpc.net 문제 이해 지도 사이의 이동은 상하좌우 이웃한 곳끼리만 가능하다. 세준이의 출발점은 가장 왼쪽 위칸이며 목적지는 가장 오른쪽 아래입니다. 가능함 힘을 적게 들이고 싶어 항상 높이가 더 낮은 지점으로만 이동하여 목표지점으로 가고자 한다. 문제 풀이 전 설계 가장 간단하게 드는 생각은 DFS/BFS로 경로를 세주는 것입니다. N과 M의 크기는 500입니다. 항상 자신보다 적은길로 가야 하기 때문에 가지치기..
-
[백준]12865번 : 평범한 배낭 - 자바(JAVA)알고리즘/백준 2022. 4. 28. 00:01
https://www.acmicpc.net/problem/12865 12865번: 평범한 배낭 첫 줄에 물품의 수 N(1 ≤ N ≤ 100)과 준서가 버틸 수 있는 무게 K(1 ≤ K ≤ 100,000)가 주어진다. 두 번째 줄부터 N개의 줄에 거쳐 각 물건의 무게 W(1 ≤ W ≤ 100,000)와 해당 물건의 가치 V(0 ≤ V ≤ 1,000) www.acmicpc.net 문제 해석 필요한 물건의 개수 : N개 각 물건의 무게 : W 각 물건의 가치 : V 배낭에 물건을 넣고자하는데 최대 K만큼의 무게를 넣을 수 있다. 이 때 물건의 가치가 최대가 되도록 물건을 넣어보자. 문제 풀이 전 설계 입력값 받기 물품의 개수 N과 최대 무게 K를 입력받고 N번에 걸쳐 물건의 무게(W)와 물건의 가치(V)를 입..
-
[백준] 1175번 : 배달 - 자바(JAVA)알고리즘/백준 2022. 4. 27. 00:01
https://www.acmicpc.net/problem/1175 1175번: 배달 어제 선물을 모두 포장한 민식이는 이제 선물을 배달하려고 한다. 민식이가 선물을 배달할 곳은 이 문제를 읽는 사람들이 앉아 있는 교실이다. 교실은 직사각형모양이고, 모두 같은 크기의 정사 www.acmicpc.net 문제 해석 직사각형으로 이루어진 교실에 선물을 배달하고 싶다. 지도가 주어지는데 4가지 종류로 식별합니다. S : 지금 민식이가 있는 위치, 배달을 시작하는 곳이며 1개가 존재 C : 민식이가 반드시 선물을 배달해야 하는 곳. 정확하게 2개 존재 # : 민식이가 갈 수 없는 곳이다. . : 민식이가 자유롭게 지나갈 수 있는 곳 동서남북으로 이동하는데 1분 걸리며 네가지 방향 중 한 방향으로 이동할 수 있다. ..
-
[프로그래머스] 2022 KAKAO BLIND RECRUITMENT 신고 결과 받기 - 자바(JAVA)알고리즘/프로그래머스 2022. 4. 26. 00:01
https://programmers.co.kr/learn/courses/30/lessons/92334?language=java# 코딩테스트 연습 - 신고 결과 받기 문제 설명 신입사원 무지는 게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려 합니다. 무지가 개발하려는 시스템은 다음과 같습니다. 각 유저는 한 번에 한 명의 programmers.co.kr 문제 해석 불량 이용자를 신고하려고 합니다. 각 유저는 한 번에 한 명의 유저를 신고하는데 신고 횟수에 제한은 없습니다. 한 유저를 여러 번 신고할 수도 있지만, 동일한 유저에 대한 신고 횟수는 1회로 처리합니다. k번 이상 신고된 유저는 게시판 이용이 정지되며, 모든 유저에게 정지 사실을 메일로 보냅니다. 이때 유저별로 메일을..
-
[백준] 2206번 : 벽 부수고 이동하기 - 자바(JAVA)알고리즘/백준 2022. 4. 25. 00:01
https://www.acmicpc.net/problem/2206 2206번: 벽 부수고 이동하기 N×M의 행렬로 표현되는 맵이 있다. 맵에서 0은 이동할 수 있는 곳을 나타내고, 1은 이동할 수 없는 벽이 있는 곳을 나타낸다. 당신은 (1, 1)에서 (N, M)의 위치까지 이동하려 하는데, 이때 최단 경로 www.acmicpc.net 문제 해석 N x M의 행렬로 표현되는 맵이 있습니다. 맵에서 0은 이동할 수 있는 곳, 1은 이동할 수 없는 벽으로 표시됩니다. (1,1)에서 (N, M)의 위치로 최단경로로 이동하려고 합니다 이때 시작하는 칸과 끝나는 칸도 포함해서 셉니다. 만약 이동하는 도중에 한 개의 벽을 부수고 이동하는 것이 좀 더 경로가 짧아진다면, 벽을 한 개까지 부수고 이동해도 됩니다. 문제..