일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 최단 경로
- php 프로그래밍
- 배열
- Flutter
- 백준
- JAVA SPRING
- 자바 스프링
- 파이썬
- php 프로그래밍 입문 예제
- 자바
- spring
- 플러터
- php 프로그래밍 입문 3판
- 페이코 추천인코드
- C
- php 프로그래밍 입문 연습문제
- Java
- 한정 분기
- php 프로그래밍 입문 문제풀이
- 페이코 초대코드
- 플러터 개발환경 설정
- C언어
- 페이코 친구코드
- php 프로그래밍 입문
- 스프링
- php
- 페이코 추천인
- SWEA
- php 프로그래밍 입문 솔루션
- programmers
- Today
- Total
목록분류 전체보기 (565)
ImJay
[BOJ/Java] 21736. 헌내기는 친구가 필요해 21736번: 헌내기는 친구가 필요해 2020년에 입학한 헌내기 도연이가 있다. 도연이는 비대면 수업 때문에 학교에 가지 못해 학교에 아는 친구가 없었다. 드디어 대면 수업을 하게 된 도연이는 어서 캠퍼스 내의 사람들과 친해지고 www.acmicpc.net 문제 해석 이 문제에서는 학교 지도에서 'I'로 표시된 시작 위치에서 출발하여 'P'로 표시된 친구들을 만나는 시뮬레이션을 수행한다. 지도는 NxM 그리드 형태로 주어지며, 탐색은 네 방향으로 이동이 가능하다. 목표는 최대한 많은 친구('P')를 만나는 것이며, 만약 하나도 만나지 못했다면 "TT"를 출력한다. 풀이 과정 초기화: 입력을 받아 지도의 크기(N, M)와 각 위치의 문자를 초기화한다...
[BOJ/Java] 17626. Four Squares 17626번: Four Squares 라그랑주는 1770년에 모든 자연수는 넷 혹은 그 이하의 제곱수의 합으로 표현할 수 있다고 증명하였다. 어떤 자연수는 복수의 방법으로 표현된다. 예를 들면, 26은 52과 12의 합이다; 또한 42 + 32 + 1 www.acmicpc.net 문제 해석 이 문제는 주어진 수 𝑁N을 최소 개수의 제곱수 합으로 표현할 때 필요한 제곱수의 개수를 찾는 문제이다. 예를 들어, 𝑁=13이면 2^2+3^2=13이므로, 최소 개수는 2개이다. 풀이 과정 다이나믹 프로그래밍(DP) 사용: 문제를 해결하기 위해 다이나믹 프로그래밍 기법을 적용한다. DP 배열 초기화: dp[i]는 숫자 𝑖i를 제곱수의 합으로 나타낼 때 필요한 최..
[BOJ/Java] 17471. 게리맨더링 17471번: 게리맨더링 선거구를 [1, 4], [2, 3, 5, 6]으로 나누면 각 선거구의 인구는 9, 8이 된다. 인구 차이는 1이고, 이 값보다 더 작은 값으로 선거구를 나눌 수는 없다. www.acmicpc.net 문제 해석 이 문제는 N개의 구역을 두 그룹으로 나누어 각 그룹의 인구 차이를 최소화하는 문제이다. 각 구역의 인구수가 주어지고, 구역 간 연결 정보도 주어진다. 두 그룹은 각각 연결되어 있어야 하며(하나의 연결 요소를 이루어야 함), 불가능할 경우 -1을 출력한다. 풀이 과정 변수 선언 및 입력 처리: N은 구역의 수, num은 각 구역의 인구수를 저장하는 배열이다. 그래프 구성: 각 구역 간 연결 정보를 인접 리스트로 표현한 graph를 ..
[BOJ/Java] 17219. 비밀번호 찾기 17219번: 비밀번호 찾기 첫째 줄에 저장된 사이트 주소의 수 N(1 ≤ N ≤ 100,000)과 비밀번호를 찾으려는 사이트 주소의 수 M(1 ≤ M ≤ 100,000)이 주어진다. 두번째 줄부터 N개의 줄에 걸쳐 각 줄에 사이트 주소와 비밀번 www.acmicpc.net 문제 해석 이 문제는 주어진 웹사이트 주소에 대응하는 비밀번호를 빠르게 찾는 문제이다. 웹사이트 주소와 비밀번호 쌍이 N개 주어지고, M개의 웹사이트 주소에 대해 해당 비밀번호를 찾아 출력하는 구조이다. 풀이 과정 입력 처리: 사용자로부터 N (웹사이트-비밀번호 쌍의 수)과 M (조회할 웹사이트의 수)을 입력받는다. 해시맵 구성: N개의 웹사이트와 비밀번호 쌍을 읽어 해시맵에 저장한다. ..
[BOJ/Java] 17136. 색종이 붙이기 17136번: 색종이 붙이기 과 같이 정사각형 모양을 한 다섯 종류의 색종이가 있다. 색종이의 크기는 1×1, 2×2, 3×3, 4×4, 5×5로 총 다섯 종류가 있으며, 각 종류의 색종이는 5개씩 가지고 있다. 색종이를 크 www.acmicpc.net 문제 해석 본 문제는 10x10 크기의 그리드에서 1로 표시된 부분을 최소 개수의 색종이로 모두 덮는 최적의 방법을 찾는 것이다. 사용 가능한 색종이의 크기는 1x1부터 5x5까지 다양하며, 각 크기의 색종이는 최대 5개까지 사용할 수 있다. 문제의 핵심은 최소한의 색종이 사용으로 모든 1을 덮는 것이다. 풀이 과정 초기화 및 입력 처리: 그리드를 10x10 크기의 배열로 초기화하고, 입력을 받아 해당 배열을..
[BOJ/Java] 16637. 괄호 추가하기 16637번: 괄호 추가하기 첫째 줄에 수식의 길이 N(1 ≤ N ≤ 19)가 주어진다. 둘째 줄에는 수식이 주어진다. 수식에 포함된 정수는 모두 0보다 크거나 같고, 9보다 작거나 같다. 문자열은 정수로 시작하고, 연산자와 정수가 www.acmicpc.net 문제 해석 이 문제에서는 N개의 문자(숫자와 연산자)로 구성된 수식이 주어지며, 괄호를 적절히 추가하여 수식의 결과를 최대로 만드는 값을 찾아야 한다. 괄호는 중첩할 수 없으며, 한 번에 하나의 연산만을 포함할 수 있다. 풀이 과정 변수 선언 및 입력 처리: N은 수식의 길이, arr은 주어진 문자열을 담는 배열이다. 재귀 함수 설계: recursive 함수를 통해 괄호를 추가할 수 있는 모든 위치를 ..
[BOJ/Java] 3190. 뱀 3190번: 뱀 'Dummy' 라는 도스게임이 있다. 이 게임에는 뱀이 나와서 기어다니는데, 사과를 먹으면 뱀 길이가 늘어난다. 뱀이 이리저리 기어다니다가 벽 또는 자기자신의 몸과 부딪히면 게임이 끝난다. 게임 www.acmicpc.net 문제 해석 이 게임에서 뱀은 격자 상에서 사과를 먹으며 이동하고, 자신의 몸이나 벽에 부딪히면 게임이 종료된다. 뱀은 처음에 오른쪽을 향하며, 일정 시간마다 방향 전환 명령을 받는다. 이 문제는 뱀이 사과를 먹거나 몸을 길게 하면서 주어진 명령에 따라 어떻게 움직이는지를 시뮬레이션해야 한다. 풀이 과정 이 Java 코드는 뱀의 움직임을 시뮬레이션하여 게임이 언제 종료되는지를 결정한다. 뱀의 머리 위치를 따라 움직이면서, 몸통을 나타내는..
[BOJ/Java] 14500. 테트로미노 14500번: 테트로미노 폴리오미노란 크기가 1×1인 정사각형을 여러 개 이어서 붙인 도형이며, 다음과 같은 조건을 만족해야 한다. 정사각형은 서로 겹치면 안 된다. 도형은 모두 연결되어 있어야 한다. 정사각형의 변 www.acmicpc.net 문제 해석 이 문제에서는 격자 위에 다양한 형태의 테트로미노를 놓았을 때 얻을 수 있는 점수의 최댓값을 찾는 문제다. 테트로미노는 모두 4개의 칸으로 구성되어 있고, 격자의 값에 따라 점수가 정해진다. 테트로미노는 90도 회전이나 대칭이 가능하다. 풀이 과정 Java 코드는 DFS(깊이 우선 탐색)를 사용하여 격자에서 가능한 모든 테트로미노의 위치를 탐색하고, 그 중 최댓값을 찾는다. 각 테트로미노는 최대 4개의 칸으로 ..
[BOJ/Java] 3055. 탈출 3055번: 탈출 사악한 암흑의 군주 이민혁은 드디어 마법 구슬을 손에 넣었고, 그 능력을 실험해보기 위해 근처의 티떱숲에 홍수를 일으키려고 한다. 이 숲에는 고슴도치가 한 마리 살고 있다. 고슴도치는 제 www.acmicpc.net 문제 해석 이 문제는 고슴도치가 물이 차오르는 동굴에서 탈출구로 이동하는 최소 시간을 찾는 시뮬레이션 문제이다. 동굴은 격자로 표현되며, 고슴도치는 매 초마다 인접한 네 방향으로 이동할 수 있다. 물도 매 초마다 인접한 네 방향으로 확장된다. 고슴도치는 물이 있는 칸이나 돌이 있는 칸으로 이동할 수 없으며, 탈출구에 도달하면 게임이 종료된다. 탈출이 불가능한 경우도 고려해야 한다. 풀이 과정 Java 코드는 BFS(너비 우선 탐색)를 사용..
[BOJ/Java] 2174. 로봇 시뮬레이션 2174번: 로봇 시뮬레이션 첫째 줄에 두 정수 A, B가 주어진다. 다음 줄에는 두 정수 N, M이 주어진다. 다음 N개의 줄에는 각 로봇의 초기 위치(x, y좌표 순) 및 방향이 주어진다. 다음 M개의 줄에는 각 명령이 명령을 내리는 순 www.acmicpc.net 문제 해석 이 문제는 격자 위에서 주어진 명령에 따라 로봇들을 움직이면서, 로봇이 벽에 부딪히거나 다른 로봇과 충돌하는 상황을 시뮬레이션하는 문제이다. 로봇은 네 방향 중 하나를 향하고 있으며, "F", "L", "R" 세 가지 명령을 수행할 수 있다. "F"는 전진, "L"은 좌회전, "R"은 우회전을 의미한다. 명령에 따라 로봇이 이동할 때마다 그 결과를 검사하여 충돌이나 벽에 부딪히는 상..