Java 119

[백준 2258] 정육점 (JAVA)

https://www.acmicpc.net/problem/2258 2258번: 정육점 첫째 줄에 두 정수 N(1 ≤ N ≤ 100,000), M(1 ≤ M ≤ 2,147,483,647)이 주어진다. N은 덩어리의 개수를 의미하고, M은 은혜가 필요한 고기의 양이다. 다음 N개의 줄에는 각 고기 덩어리의 무게와 가격을 나 www.acmicpc.net 정렬과 그리디 문제였다. 가격 오름차순 정렬 -> 무게 내림차순 정렬 순으로 하고!첫번째 값(제일 싼 값)부터 총 무게값에 더하고, 총 가격에 해당 값의 가격을 넣는다.둘째 값부터는 이전 값의 가격이 꽁짜이기 때문에 총 가격을 둘째 값의 가격으로 넣는다.만일 이전 값의 가격과 같은 가격이라면, 그 고기도 사야하는 거기 때문에 총 가격에 둘째 값의 가격을 더한다..

Java 2023.06.20

[백준 4716] 풍선 (JAVA)

https://www.acmicpc.net/problem/4716 4716번: 풍선 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스의 첫째 줄에는 팀의 수 N(1 ≤ N ≤ 1,000)과 방 A와 B에 보관되어있는 풍선의 수 A, B가 주어진다. (0 ≤ A, B ≤ 10,000) 다음 N개 www.acmicpc.net 각 팀의 A와 B 거리의 차이를 구하고, 그 차이가 큰 순서대로 정렬하여 해당 팀의 짧은 거리인 곳과 먼저 계산되도록 한다! import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; import java.util.St..

Java 2023.06.14

[코드트리] 포탑 부수기 JAVA 풀이 (삼성 SW 역량 기출문제)

https://www.codetree.ai/training-field/frequent-problems/problems/destroy-the-turret/description?page=3&pageSize=20 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석 최고의 알고리즘 전문가들이 체계적인 코딩테스트 문제 유형 분류와 학습 커리큘럼을 제시합니다. 알고리즘 학습의 A to Z를 경험해보세요! www.codetree.ai bfs를 사용하여 문제를 풀 수 있었다. 최단거리의 경로를 알기위해 come배열에 어떤 곳에서 출발하여 온 것인지 표시하여 목적지부터 역순으로 come배열을 조회하여 출발지에 도착할 수 있도록 하는 게 포인트였다! import java.io.BufferedReader; import jav..

Java 2023.06.09

[코드트리] 코드트리 빵 JAVA 풀이 (삼성 SW 역량 기출문제)

https://www.codetree.ai/training-field/frequent-problems/problems/codetree-mon-bread/description?page=3&pageSize=20 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석 최고의 알고리즘 전문가들이 체계적인 코딩테스트 문제 유형 분류와 학습 커리큘럼을 제시합니다. 알고리즘 학습의 A to Z를 경험해보세요! www.codetree.ai bfs를 사용하여 최단거리를 구해서 문제를 풀었다! 사용자 위치, 베캠, 편점 리스트를 각각 따로 선언한다. map에는 빈칸과 사용자가 지나간 적있는 베켐과 편점을 표시한다. ( 다른 사용자는 못지나가기 때문에!!) bfs와 조건 처리를 잘해주고 실수가 없었다면 잘 풀 수 있는 문제였던 ..

Java 2023.06.09

[백준 20055] 컨베이어 벨트 위의 로봇 (JAVA)

https://www.acmicpc.net/problem/20055 20055번: 컨베이어 벨트 위의 로봇 길이가 N인 컨베이어 벨트가 있고, 길이가 2N인 벨트가 이 컨베이어 벨트를 위아래로 감싸며 돌고 있다. 벨트는 길이 1 간격으로 2N개의 칸으로 나뉘어져 있으며, 각 칸에는 아래 그림과 같이 1부 www.acmicpc.net 회전할때 약빙행으로 먼저 옮겨줘야한다는 게 포인트였다. 2n-1 인덱스의 값은 temp로 저장해두고, 2n-2부터 0까지 for문을 돌려서 i값을 i+1에 넣게 한다! import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayLi..

Java 2023.06.09

[백준 23288] 주사위 굴리기2 (JAVA)

https://www.acmicpc.net/problem/23288 23288번: 주사위 굴리기 2 크기가 N×M인 지도가 존재한다. 지도의 오른쪽은 동쪽, 위쪽은 북쪽이다. 지도의 좌표는 (r, c)로 나타내며, r는 북쪽으로부터 떨어진 칸의 개수, c는 서쪽으로부터 떨어진 칸의 개수이다. 가장 왼 www.acmicpc.net 주사위 굴리기 1을 풀고 오면 간단히 해결 가능한 문제였다! 주사위 굴리기1에 bfs를 사용하면 된다!! 주사위 굴리기 1은 아래와 같다! 참고하세용 https://iheeeee6-6.tistory.com/123 [백준 14499] 주사위 굴리기 (JAVA) https://www.acmicpc.net/problem/14499 14499번: 주사위 굴리기 첫째 줄에 지도의 세로 크..

Java 2023.06.08

[백준 14499] 주사위 굴리기 (JAVA)

https://www.acmicpc.net/problem/14499 14499번: 주사위 굴리기 첫째 줄에 지도의 세로 크기 N, 가로 크기 M (1 ≤ N, M ≤ 20), 주사위를 놓은 곳의 좌표 x, y(0 ≤ x ≤ N-1, 0 ≤ y ≤ M-1), 그리고 명령의 개수 K (1 ≤ K ≤ 1,000)가 주어진다. 둘째 줄부터 N개의 줄에 지 www.acmicpc.net 주사위를 굴렸을때의 주사위 면의 계산이 어려웠다 ㅠ 종이를 찢어서 주사위로 만들어서 해본 건 안비밀 ㅎ 주사위 int배열을 만들어서 2 4 1 3 5 6 위처럼, 인덱스 1= 상단, 2= 위, 3= 오른쪽, 4=왼쪽, 5=아래, 6= 바닥으로 한다. 초기화 값은 0으로 처리한다. import java.io.BufferedReader..

Java 2023.06.07

[백준 3190] 뱀 (JAVA)

https://www.acmicpc.net/problem/3190 3190번: 뱀 'Dummy' 라는 도스게임이 있다. 이 게임에는 뱀이 나와서 기어다니는데, 사과를 먹으면 뱀 길이가 늘어난다. 뱀이 이리저리 기어다니다가 벽 또는 자기자신의 몸과 부딪히면 게임이 끝난다. 게임 www.acmicpc.net 오타로 인해 시간이 오래걸렸던 문제였다...ㅠㅠㅠㅠ 오타 정말 조심하자.... map은 전체적인 영역을 나타내는 것으로, 사과 있는 곳은 1 뱀의 위치는 2 빈칸은 0이다. prevDir은 뱀이 이동한 방향을 넣어준다. 큐를 사용해서 선입선출로, 사과가 없는 영역으로 갈 경우에 prevDir을 poll하여 꼬리를 이동시킨다. dx,dy는 방향을 나타내는 배열로, 순서대로 오른쪽, 아래쪽, 왼쪽, 위쪽 이..

Java 2023.06.06

[백준 16234] 인구 이동 (JAVA)

https://www.acmicpc.net/problem/16234 16234번: 인구 이동 N×N크기의 땅이 있고, 땅은 1×1개의 칸으로 나누어져 있다. 각각의 땅에는 나라가 하나씩 존재하며, r행 c열에 있는 나라에는 A[r][c]명이 살고 있다. 인접한 나라 사이에는 국경선이 존재한다. 모 www.acmicpc.net bfs를 이용하여 해결할 수 있었다! 방문 표시 배열과, 연합 국가 리스트를 사용하여 0,0부터 포문을 돌면서 방문한 적이 없는 국가에 대한 bfs를 실행한다. 인접한 국가와 l = n || yy >= n || visited[xx][yy]) continue; int dist = Math.abs(arr[node.x][node.y] - arr[xx][yy]); if (dist >= l ..

Java 2023.06.02

[백준 12845] 모두의 마블 (JAVA)

https://www.acmicpc.net/problem/12845 12845번: 모두의 마블 영관이는 게임을 좋아한다. 별의별 게임을 다 하지만 그 중에서 제일 좋아하는 게임은 모두의 마블이다. 어김없이 오늘도 영관이는 학교 가는 버스에서 캐릭터 합성 이벤트를 참여했다. 이번 이 www.acmicpc.net 요즘 백준을 아무리 풀어도 실력이 늘지 않는 느낌을 받았다. 오픈 채팅방에 고민을 털었도니, 어떤 분께서 그리디 알고리즘을 많이 풀어보라고 조언해주셨다! 그래서 그리디 알고리즘만 n일째 패는 중 ㅎㅎ 그리디 알고리즘이 딱히 정해진 틀은 없는 거 같아서 문제마다 좀 새롭다.. 하지만~ 이 문제는 간단한 실버3 문제였다! 가장 큰 수를 기준으로 더해가면 해결된다. import java.io.Buffer..

Java 2023.06.01