알고리즘 문제풀이/BOJ
-
BOJ 7622번 이중 우선순위 큐 문제 자바(java) 풀이 랭크 : 골드5 백준 7622번 이중 우선순위 큐 문제 정리 큐에 저장된 값 자체가 큐의 우선순위를 나타낸다. 큐에 연산을 처리하고 최종적으로 큐에 저장된 데이터 중 최대, 최소값을 출력하는 프로그램을 작성하세요 I n : n을 Q에 삽입 D 1 : Q에서 최댓값 삭제 D -1 : Q에서 최솟값 삭제 최대, 최소 둘 이상인 경우, 하나만 삭제됨을 유념 Q가 비어있는데 적용할 연산이 'D'라면 이 연산은 무시한다. 동일한 정수가 삽입될 수 있다. 큐가 비어있다면 EMPTY를 출력하라. 그렇지 않으면 {최댓값, 최솟값} 출력 문제접근, TreeMap 처음엔 문제이름 그대로 우선순위 큐 두개를 이용해서 풀었지만 시간초과가 나서 다른 ..
[TreeMap, 우선순위 큐] 백준 7622번 이중 우선순위 큐 자바 풀이BOJ 7622번 이중 우선순위 큐 문제 자바(java) 풀이 랭크 : 골드5 백준 7622번 이중 우선순위 큐 문제 정리 큐에 저장된 값 자체가 큐의 우선순위를 나타낸다. 큐에 연산을 처리하고 최종적으로 큐에 저장된 데이터 중 최대, 최소값을 출력하는 프로그램을 작성하세요 I n : n을 Q에 삽입 D 1 : Q에서 최댓값 삭제 D -1 : Q에서 최솟값 삭제 최대, 최소 둘 이상인 경우, 하나만 삭제됨을 유념 Q가 비어있는데 적용할 연산이 'D'라면 이 연산은 무시한다. 동일한 정수가 삽입될 수 있다. 큐가 비어있다면 EMPTY를 출력하라. 그렇지 않으면 {최댓값, 최솟값} 출력 문제접근, TreeMap 처음엔 문제이름 그대로 우선순위 큐 두개를 이용해서 풀었지만 시간초과가 나서 다른 ..
2020.05.29 -
BOJ 16235번 나무 재테크 문제 자바(java) 풀이 랭크 : 골드5 백준 16235번 나무 재테크 문제 정리 NxN 크기의 땅이 있으며 1x1 크기로 나누어져 있다. 각 칸은 (r,c)로 나타내며 r과 c는 1부터 시작한다 가장 처음에 양분은 모두 5만큼 들어있다. 같은 1x1 크기의 칸에 여러 개의 내무가 심어져 있을 수 있다. 봄 봄에는 나무가 자신의 나이만큼 양분을 먹고, 나이가 1 증가한다. 각각의 나무는 나무가 있는 1x1 크기의 칸에 있는 양분만 먹을 수 있다. 하나의 칸에 여러 개의 나무가 있다면, 나이가 어린 나무부터 양분을 먹는다. 만약 땅에 양분이 부족해서 자신의 나이만큼 양분을 먹을 수 없는 나무는 즉시 죽는다 여름 봄에 죽은 나무가 양분으로 변하게 된다. 각각의 죽은 나무마다..
[시뮬레이션, List] 백준 16235번 나무 재테크 자바 풀이(삼성 sw 역량 테스트 기출)BOJ 16235번 나무 재테크 문제 자바(java) 풀이 랭크 : 골드5 백준 16235번 나무 재테크 문제 정리 NxN 크기의 땅이 있으며 1x1 크기로 나누어져 있다. 각 칸은 (r,c)로 나타내며 r과 c는 1부터 시작한다 가장 처음에 양분은 모두 5만큼 들어있다. 같은 1x1 크기의 칸에 여러 개의 내무가 심어져 있을 수 있다. 봄 봄에는 나무가 자신의 나이만큼 양분을 먹고, 나이가 1 증가한다. 각각의 나무는 나무가 있는 1x1 크기의 칸에 있는 양분만 먹을 수 있다. 하나의 칸에 여러 개의 나무가 있다면, 나이가 어린 나무부터 양분을 먹는다. 만약 땅에 양분이 부족해서 자신의 나이만큼 양분을 먹을 수 없는 나무는 즉시 죽는다 여름 봄에 죽은 나무가 양분으로 변하게 된다. 각각의 죽은 나무마다..
2020.05.03 -
BOJ 5373번 큐빙 문제 자바(java) 풀이 랭크 : 골드1 백준 5373번 큐빙 문제 정리 윗면: 흰색, 아랫면: 노란색, 앞면: 빨간색, 뒷면: 오렌지색, 왼쪽 면: 초록색, 오른쪽면: 파란색 루빅스 큐브를 돌린 방법이 순서대로 주어진다. 이때, 모두 돌린 다음에 가장 윗 면의 색상을 구하는 프로그램을 작성하시오 테스트 케이스의 개수가 주어지며 최대 100개이다 큐브를 돌린 횟수 n이 주어진다. 큐브를 돌린 방법이 주어진다. 방법은 공백으로 구분되어 있다. (돌린면(UDFBLR)돌린방향(+-)). 돌린 방향은 그 방향을 바라봤을 때가 기준이다. 첫째줄에는 뒷면과 접하는 줄의 색깔, 두 번째, 세 번째줄의 색을 출력한다. (w, y, r, o, g, b) 문제 풀이 정말 어려운 구현 문제였습니다...
[시뮬레이션] 백준 5373번 큐빙 (삼성 sw 역량 테스트 기출문제)BOJ 5373번 큐빙 문제 자바(java) 풀이 랭크 : 골드1 백준 5373번 큐빙 문제 정리 윗면: 흰색, 아랫면: 노란색, 앞면: 빨간색, 뒷면: 오렌지색, 왼쪽 면: 초록색, 오른쪽면: 파란색 루빅스 큐브를 돌린 방법이 순서대로 주어진다. 이때, 모두 돌린 다음에 가장 윗 면의 색상을 구하는 프로그램을 작성하시오 테스트 케이스의 개수가 주어지며 최대 100개이다 큐브를 돌린 횟수 n이 주어진다. 큐브를 돌린 방법이 주어진다. 방법은 공백으로 구분되어 있다. (돌린면(UDFBLR)돌린방향(+-)). 돌린 방향은 그 방향을 바라봤을 때가 기준이다. 첫째줄에는 뒷면과 접하는 줄의 색깔, 두 번째, 세 번째줄의 색을 출력한다. (w, y, r, o, g, b) 문제 풀이 정말 어려운 구현 문제였습니다...
2020.05.02 -
BOJ 14500번 테트로미노 문제 자바(java) 풀이 랭크 : 골드5 백준 14500번 테트로미노 문제 정리 폴리오미노: 크기가 1x1인 정사각형을 여러개 이어서 붙인 도형 폴리오미노는 다음과 같은 조건을 만족하여야 한다. 2.1 정사각형은 서로 겹치면 안 된다. 2.2 도형은 모두 연결되어 있어야 한다. 2.3 정사각형의 변끼리 연결되어 있어야 한다.즉, 꼭짓점과 꼭짓점만 맛닿아 있어야 한다. 정사각형 4개를 이어 붙인 폴리오미노는 특별히 테트로미노라고 부른다. NxM의 종이가 있으면 1x1의 크기로 나누어져 있다. 또한 각 칸마다 정수가 쓰여져 있다. 테트로미노 하나를 적절히 놓아서 테트로미노가 놓인 칸에 쓰여져 있는 수들의 합을 최대로 하는 프로그램을 작성하여라. 테트로미노는 반드시 한 정사각형..
[브루트 포스] 삼성 sw 역량 테스트 기출 :: 백준 14500번 테트로미노 자바 풀이BOJ 14500번 테트로미노 문제 자바(java) 풀이 랭크 : 골드5 백준 14500번 테트로미노 문제 정리 폴리오미노: 크기가 1x1인 정사각형을 여러개 이어서 붙인 도형 폴리오미노는 다음과 같은 조건을 만족하여야 한다. 2.1 정사각형은 서로 겹치면 안 된다. 2.2 도형은 모두 연결되어 있어야 한다. 2.3 정사각형의 변끼리 연결되어 있어야 한다.즉, 꼭짓점과 꼭짓점만 맛닿아 있어야 한다. 정사각형 4개를 이어 붙인 폴리오미노는 특별히 테트로미노라고 부른다. NxM의 종이가 있으면 1x1의 크기로 나누어져 있다. 또한 각 칸마다 정수가 쓰여져 있다. 테트로미노 하나를 적절히 놓아서 테트로미노가 놓인 칸에 쓰여져 있는 수들의 합을 최대로 하는 프로그램을 작성하여라. 테트로미노는 반드시 한 정사각형..
2020.04.29 -
BOJ 13460번 구슬 탈출2 문제 자바(java) 풀이 랭크 : 골드3 백준 13460번 구슬 탈출2 문제 정리 문제에 요구사항이 꽤 있으므로 잘 읽으시기 바랍니다!! 구슬 탈출: 직사각형 보드에 빨간 구슬과 파란 구슬을 하나씩 넣은 다음, 빨간 구슬을 구멍을 통해 빼내는 게임 NxM 크기의 보드, 1x1칸으로 나누어져 있음. 빨간 구슬을 구멍을 통해 빼내야 하며, 파란 구슬이 구멍에 들어가면 안됨 왼쪽, 오른쪽, 위쪽, 아래쪽으로 보드를 기울일 수 있다. 빨간 구슬이 구멍에 빠지면 성공, 파란색이 빠지면 실패. 동시에 빠져도 실패 빨간 구슬과 파란 구슬은 동시에 같은 칸에 있을 수 없다. 더 이상 구슬이 움직이지 않을때까지 기울여본다. 보드의 상태가 주어질때 최소 몇 번 만에 빨간 구슬을 구멍을 통..
[브루트 포스, BFS] sw 역량 테스트 기출 :: 백준 13460번 구슬 탈출2BOJ 13460번 구슬 탈출2 문제 자바(java) 풀이 랭크 : 골드3 백준 13460번 구슬 탈출2 문제 정리 문제에 요구사항이 꽤 있으므로 잘 읽으시기 바랍니다!! 구슬 탈출: 직사각형 보드에 빨간 구슬과 파란 구슬을 하나씩 넣은 다음, 빨간 구슬을 구멍을 통해 빼내는 게임 NxM 크기의 보드, 1x1칸으로 나누어져 있음. 빨간 구슬을 구멍을 통해 빼내야 하며, 파란 구슬이 구멍에 들어가면 안됨 왼쪽, 오른쪽, 위쪽, 아래쪽으로 보드를 기울일 수 있다. 빨간 구슬이 구멍에 빠지면 성공, 파란색이 빠지면 실패. 동시에 빠져도 실패 빨간 구슬과 파란 구슬은 동시에 같은 칸에 있을 수 없다. 더 이상 구슬이 움직이지 않을때까지 기울여본다. 보드의 상태가 주어질때 최소 몇 번 만에 빨간 구슬을 구멍을 통..
2020.04.28 -
BOJ 1297번 TV 크기 자바(java) 풀이 랭크 : 브론즈4 백준 1297번 TV 크기 오랜만에 풀어보는 브론즈 문제입니다. 요즘 서류 쓰냐고 바빠서 알고리즘을 풀지 못하고 있는데요 그래도 1일 1커밋 하고 싶어서 쉬운거라도 찾아서 풀어봤습니다~~ 문제 정리 TV의 대각선 길이, 높이와 너비의 비율이 주어질때 실제 높이와 너비의 길이를 구하여라 만약, 실제 TV의 높이나 너비가 소수점이 나올 경우에는 그 수보다 작으면서 가장 큰 정수로 출력한다. 문제 풀이 이 문제는 피타고라스의 정리를 알면 간단히 풀 수 있는 문제입니다. 피타고라스의 정리를 바탕으로 방정식을 세우고 해를 구하면 됩니다. 피타고라스의 정리 c^2 = a^2 + b^2 (단 c는 빗변)빗변은 대각선의 길이가 되고 a와 b는 높이와 ..
[수학] 백준 1297번 TV 크기 자바(java) 풀이BOJ 1297번 TV 크기 자바(java) 풀이 랭크 : 브론즈4 백준 1297번 TV 크기 오랜만에 풀어보는 브론즈 문제입니다. 요즘 서류 쓰냐고 바빠서 알고리즘을 풀지 못하고 있는데요 그래도 1일 1커밋 하고 싶어서 쉬운거라도 찾아서 풀어봤습니다~~ 문제 정리 TV의 대각선 길이, 높이와 너비의 비율이 주어질때 실제 높이와 너비의 길이를 구하여라 만약, 실제 TV의 높이나 너비가 소수점이 나올 경우에는 그 수보다 작으면서 가장 큰 정수로 출력한다. 문제 풀이 이 문제는 피타고라스의 정리를 알면 간단히 풀 수 있는 문제입니다. 피타고라스의 정리를 바탕으로 방정식을 세우고 해를 구하면 됩니다. 피타고라스의 정리 c^2 = a^2 + b^2 (단 c는 빗변)빗변은 대각선의 길이가 되고 a와 b는 높이와 ..
2020.04.13