본문 바로가기
728x90
반응형

코딩테스트190

[백준/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.
[백준/java] 21922번: 학부 연구생 민상 - BFS https://www.acmicpc.net/problem/21922 21922번: 학부 연구생 민상 첫 번째 줄에는 연구실의 크기가 세로 $N(1 \le N \le 2,000)$, 가로 $M(1 \le M \le 2,000)$ 순으로 주어진다. 두 번째 줄부터 $N + 1$ 줄까지 연구실 내부 구조 정보를 알려주는 값 $M$개가 주어진다. $1,2,3,4$ www.acmicpc.net ※ 문제 풀 때 주의 사항 (1) boolean 타입 3차원 배열(boolean[][][] visit)을 이용해서 풀어야 한다. -> boolean 3차원 배열로 풀지 않고 int 타입 2차원 배열을 새로 만들어서 지나가는 곳마다 값을 누적해서 0이 아닌 곳을 카운트 했더니 시간초과가 발생했다. (2) 방문했던 위치는 또 .. 2021. 8. 10.
[백준/java] 1926번: 그림 - BFS(Breath-First-Search) https://www.acmicpc.net/problem/1926 1926번: 그림 어떤 큰 도화지에 그림이 그려져 있을 때, 그 그림의 개수와, 그 그림 중 넓이가 가장 넓은 것의 넓이를 출력하여라. 단, 그림이라는 것은 1로 연결된 것을 한 그림이라고 정의하자. 가로나 세로 www.acmicpc.net ※ 변수 설명 (1) board : 그림판을 나타내는 2차원 배열. 0과 1로 구성되어있으며, 1로 연결된 구역이 하나의 그림이다 (2) visit : board 2차원 배열 순회 시 방문 여부를 나타내는 2차원 배열. (3) dx, dy : Spot 객체의 위치를 기준으로 상(0, 1), 하(0, -1), 좌 (-1, 0), 우(1, 0)의 0과 1, 방문여부를 파악하기 위한 방향 배열 (4) N :.. 2021. 8. 7.
[백준/java] 20055번: 컨베이어 벨트 위의 로봇 - 시뮬레이션(삼성 기출) https://www.acmicpc.net/problem/20055 20055번: 컨베이어 벨트 위의 로봇 길이가 N인 컨베이어 벨트가 있고, 길이가 2N인 벨트가 이 컨베이어 벨트를 위아래로 감싸며 돌고 있다. 벨트는 길이 1 간격으로 2N개의 칸으로 나뉘어져 있으며, 각 칸에는 아래 그림과 같이 1부 www.acmicpc.net 삼성 기출 문제를 풀어보았다. 우선탐색, 동적 계획법 문제들 보다는 상대적으로 쉬운 시뮬레이션 문제였다. 하지만 점점 문제의 티어가 올라가면 올라갈 수록 아 괜히 이 티어와 레벨이 아니구나 라는걸 느끼게 된다. 문제를 이해하기가 상당히 난해했다. 정리하자면, 1. 먼저 컨베이어벨트를 가동한다. 2. 로봇을 처음 위치 belt[0]에 탑승시킨다. 3. 컨베이어벨트가 이동한다. .. 2021. 8. 5.
[백준/java] 5430번: AC - 큐 https://www.acmicpc.net/problem/5430 5430번: AC 각 테스트 케이스에 대해서, 입력으로 주어진 정수 배열에 함수를 수행한 결과를 출력한다. 만약, 에러가 발생한 경우에는 error를 출력한다. www.acmicpc.net 제출만 9번한 이 문제.. 간단하게 여겼지만 생각보다 그리 간단하지는 않았던 문제였다. ★ 1 'R' 연산 시 덱을 통으로 역순 정렬 → 시간 초과 발생 처음에 'R' 연산 시 역순으로 정렬하였다. Collections.reverse((List)deq); 를 사용하여 덱을 역순으로 정렬하였었다. 그래서 처음에는 while문 안에 deq.isEmpty()를 넣어서 'D' 연산이 아니더라도 덱에 데이터가 없으면 while문을 빠져나와서 에러처리를 했었다. .. 2021. 8. 5.
728x90
반응형