본문 바로가기
728x90
반응형

java226

[백준/java] 7576번 : 토마토 - BFS https://www.acmicpc.net/problem/7576 7576번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N이 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M,N ≤ 1,000 이다. 둘째 줄부터는 하나의 상자에 저장된 토마토 www.acmicpc.net ※ 문제 풀이방식 BFS가 응용된 부분 위주로 설명 드리겠습니다 (1) 우선 dy, dx 배열의 값은 두개의 값들을 함께보면 (1, 0), (0, 1), (-1, 0), (0, -1) 이 순으로 되어있습니다. --> 이것이 의미하는 것은 북 동 남 서 방향으로 방향을 설정하는 것입니다. (2) Node 클래스에 기존에 풀이했던 그림, 섬의 개수, 안전 영역같은 문제들과는 달리 x,.. 2021. 8. 14.
[백준/java] 2468번 : 안전 영역 - BFS https://www.acmicpc.net/problem/2468 2468번: 안전 영역 재난방재청에서는 많은 비가 내리는 장마철에 대비해서 다음과 같은 일을 계획하고 있다. 먼저 어떤 지역의 높이 정보를 파악한다. 그 다음에 그 지역에 많은 비가 내렸을 때 물에 잠기지 않는 www.acmicpc.net 어렵지도, 그렇다고 그렇게 쉬운문제는 아니었다. 생각보다 놓치기 쉬운 함정들이 있었다. 입력의 마지막 설명 중, " 높이는 1이상 100 이하의 정수이다. " 라는 설명이 있는데, 문제 페이지 맨 마지막 "노트"란을 보면 라고 나와있다. 이것을 고려하지 않는 경우가 더러 있었다고 한다. bfs로 순환하여 탐색하되, 순환의 높이의 시작은 0부터 100까지여야 한다는 것이다. package bfs; impo.. 2021. 8. 14.
[백준/java] 4963번 : 섬의 개수 - BFS https://www.acmicpc.net/problem/4963 4963번: 섬의 개수 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스의 첫째 줄에는 지도의 너비 w와 높이 h가 주어진다. w와 h는 50보다 작거나 같은 양의 정수이다. 둘째 줄부터 h개 줄에는 지도 www.acmicpc.net 드디어.. 처음으로 BFS 개념을 어느 곳에서도 참고하지 않고 혼자 힘으로 푼 문제이다 문제 자체는 어려운 문제는 아니었다. ※ 문제 풀이 접근 방법 (1) 이차원 배열 map으로 배열의 크기 다음으로 입력되는 값들을 입력받는다 (2) map 이차원 배열의 크기와 똑같은 사이즈의 boolean형 이차원 배열을 만들어준다. (3) 이중으로 for문을 돌면서, map[i][j]가 1이 아니거나 .. 2021. 8. 13.
[백준/java] 14891번: 톱니바퀴 - 삼성 코딩테스트 기출문제 https://www.acmicpc.net/problem/14891 14891번: 톱니바퀴 첫째 줄에 1번 톱니바퀴의 상태, 둘째 줄에 2번 톱니바퀴의 상태, 셋째 줄에 3번 톱니바퀴의 상태, 넷째 줄에 4번 톱니바퀴의 상태가 주어진다. 상태는 8개의 정수로 이루어져 있고, 12시방향부터 www.acmicpc.net 프로세스 순서 착오에 의해 문제를 푸는데만 3일이 넘게 걸렸다.. 대충 이해했던 프로세스는 아래와 같다. ---> 1. 지정받은 번호의 톱니바퀴를 방향에 맞게 일단 회전시킨다. ---> 2. 회전시킨 후, 왼쪽과 오른쪽 톱니바퀴의 극을 비교한다 ---> 3. 극이 다르면 비교 대상의 톱니바퀴를 반대방향으로 회전시킨다. ---> 4. 2 ~ 3번을 반복한다 로 이해했었는데 아주 잘못된 이해였다.. 2021. 8. 13.
[백준/java] 1932번: 정수 삼각형 - DP https://www.acmicpc.net/problem/1932 1932번: 정수 삼각형 첫째 줄에 삼각형의 크기 n(1 ≤ n ≤ 500)이 주어지고, 둘째 줄부터 n+1번째 줄까지 정수 삼각형이 주어진다. www.acmicpc.net ※ 문제 풀이 도출 과정 위에서부터 내려오면서 셀에 있는 값을 이전 행의 값을 더한다. 이전행의 값을 더할 때 방향은 ↓↘. 근데 그 중에 더 큰값을 선택해야 한다. 제일 첫번째 열은 그냥 수직으로 누적 합을 구해주면 된다. 두번째 열부터 현재 행이 i번째 행, 현재 열이 j번째 열이라고 한다면, i-1행의 j-1과 i-1행의 j번째의 값과 비교하여 더 큰 수를 누적하여 더해주면 된다. 여기서 중요한 것은 삼각형의 크기가 1부터 500까지이기 때문에 n= 1 일때에도 .. 2021. 8. 12.
[프로그래머스/java] 상호 평가 - 네이버 코딩테스트(코테) 기출문제 https://programmers.co.kr/learn/courses/30/lessons/83201 코딩테스트 연습 - 2주차 [[100,90,98,88,65],[50,45,99,85,77],[47,88,95,80,67],[61,57,100,80,65],[24,90,94,75,65]] "FBABD" [[70,49,90],[68,50,38],[73,31,100]] "CFD" programmers.co.kr 상호 평가 문제 설명 대학 교수인 당신은, 상호평가를 통하여 학생들이 제출한 과제물에 학점을 부여하려고 합니다. 아래는 0번부터 4번까지 번호가 매겨진 5명의 학생들이 자신과 다른 학생의 과제를 평가한 점수표입니다. No. 0 1 2 3 4 0 100 90 98 88 65 1 50 45 99 85 77.. 2021. 8. 12.
728x90
반응형