일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- SWEA
- php 프로그래밍 입문 연습문제
- php
- spring
- 페이코 추천인
- 한정 분기
- 배열
- 페이코 초대코드
- 자바 스프링
- php 프로그래밍 입문 예제
- 파이썬
- JAVA SPRING
- C언어
- php 프로그래밍 입문 솔루션
- php 프로그래밍 입문 문제풀이
- 페이코 추천인코드
- Flutter
- 최단 경로
- 플러터
- php 프로그래밍 입문 3판
- Java
- programmers
- 백준
- php 프로그래밍 입문
- php 프로그래밍
- 플러터 개발환경 설정
- 자바
- C
- 스프링
- 페이코 친구코드
- Today
- Total
목록2024/04 (103)
ImJay
[BOJ/Java] 15657. N과 M (8) 15657번: N과 M (8) N개의 자연수와 자연수 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. N개의 자연수는 모두 다른 수이다. N개의 자연수 중에서 M개를 고른 수열 www.acmicpc.net 문제 해석 이 문제는 자연수 N개 중에서 M개를 고른 수열을 모두 구하는 문제이며, 수열은 비내림차순(같거나 커지는 순서)이어야 한다. 입력된 수는 중복될 수 있으며, 수열도 중복될 수 있다. 풀이 과정 입력 받기: N과 M을 입력받고, N개의 수를 배열에 저장한 뒤 정렬한다. 조합 수행: 조합을 재귀적으로 수행하면서, 이미 선택한 수 이후의 수들만 선택할 수 있도록 한다. 이는 비내림차순 조건을 만족시키기..
[BOJ/Java] 15654. N과 M (5) 15654번: N과 M (5) N개의 자연수와 자연수 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. N개의 자연수는 모두 다른 수이다. N개의 자연수 중에서 M개를 고른 수열 www.acmicpc.net 문제 해석 이 문제에서는 N개의 서로 다른 수가 주어지고, 이 수들 중에서 M개를 뽑아 나열하는 모든 경우를 사전 순으로 출력해야 한다. 이는 순열을 구하는 문제의 한 형태이다. 풀이 과정 입력 받기: N개의 수를 입력 받은 후 배열에 저장하고 정렬한다. 조합 함수: 조합을 구현하는 함수 combination을 사용하여, 선택된 숫자가 다시 선택되지 않도록 관리한다. 순열 생성: 사전 순으로 출력하기 위해 ..
[BOJ/Java] 16928. 뱀과 사다리 게임 16928번: 뱀과 사다리 게임 첫째 줄에 게임판에 있는 사다리의 수 N(1 ≤ N ≤ 15)과 뱀의 수 M(1 ≤ M ≤ 15)이 주어진다. 둘째 줄부터 N개의 줄에는 사다리의 정보를 의미하는 x, y (x < y)가 주어진다. x번 칸에 도착하면, y번 칸으 www.acmicpc.net 문제 해석 이 문제는 플레이어가 주사위를 굴려 100번 칸에 도달하려고 할 때, 사다리와 뱀을 이용하여 최소 몇 번의 주사위 굴림으로 도달할 수 있는지 계산하는 문제이다. 사다리는 위로 올라가는 효과가 있고, 뱀은 아래로 내려가는 효과가 있다. 각 칸에서 다음 도착지는 미리 정해져 있으며, 1번 칸에서 시작한다. 풀이 과정 입력 처리: N(사다리 수)과 M(뱀 수)을 ..
[BOJ/Java] 20529. 가장 가까운 세 사람의 심리적 거리 20529번: 가장 가까운 세 사람의 심리적 거리 각 테스트 케이스에 대한 답을 정수 형태로 한 줄에 하나씩 출력한다. www.acmicpc.net 문제 해석 이 문제는 N명의 사람들의 MBTI를 입력 받아서 가장 심리적 거리가 가까운 세 사람의 거리를 찾는 문제이다. MBTI 간의 거리는 각 자리마다 다른 문자일 때마다 거리가 1씩 증가한다. 예를 들어, MBTI가 'INTJ', 'ENTJ'인 경우 거리는 1이다. 풀이 과정 비둘기집 원리 활용: N이 33 이상일 경우, 비둘기집 원리에 의해 반드시 최소한 하나의 MBTI가 중복되어 거리가 0인 세 사람을 찾을 수 있다. MBTI 거리 계산: 세 MBTI 사이의 거리를 계산하는 함수를 ..
[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 함수를 통해 괄호를 추가할 수 있는 모든 위치를 ..