일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- JAVA SPRING
- 페이코 추천인
- 최단 경로
- spring
- php 프로그래밍 입문 3판
- programmers
- C언어
- 백준
- 파이썬
- 자바 스프링
- php 프로그래밍 입문
- 페이코 친구코드
- 배열
- php 프로그래밍 입문 솔루션
- php 프로그래밍 입문 문제풀이
- 플러터 개발환경 설정
- 스프링
- 페이코 추천인코드
- php 프로그래밍
- php
- Java
- 한정 분기
- 플러터
- 자바
- php 프로그래밍 입문 예제
- Flutter
- php 프로그래밍 입문 연습문제
- 페이코 초대코드
- SWEA
- C
- Today
- Total
목록2024/04/23 (15)
ImJay
[BOJ/Java] 17837. 새로운 게임 2 17837번: 새로운 게임 2 재현이는 주변을 살펴보던 중 체스판과 말을 이용해서 새로운 게임을 만들기로 했다. 새로운 게임은 크기가 N×N인 체스판에서 진행되고, 사용하는 말의 개수는 K개이다. 말은 원판모양이고, 하 www.acmicpc.net 문제 해석 이 문제는 체스판에서 말을 이동시켜서 게임을 진행하는 시뮬레이션 문제다. 체스판의 각 칸은 흰색, 빨간색, 파란색으로 구분되어 있으며, 말은 특정 방향으로만 이동할 수 있다. 말은 다른 말 위에 올라탈 수 있으며, 이동 시 다양한 규칙에 따라 처리가 달라진다. 게임의 목표는 말이 네 개 이상 쌓이면 게임을 종료하는 것이다. 이 문제의 주요 도전은 말의 이동과 위치, 방향 변경 등을 정확히 처리하는 것이..
[BOJ/Java] 9251. LCS (최장 공통 부분 수열) 9251번: LCS LCS(Longest Common Subsequence, 최장 공통 부분 수열)문제는 두 수열이 주어졌을 때, 모두의 부분 수열이 되는 수열 중 가장 긴 것을 찾는 문제이다. 예를 들어, ACAYKP와 CAPCAK의 LCS는 ACAK가 된다. www.acmicpc.net 문제 해석 LCS 문제는 두 문자열이 주어졌을 때, 두 문자열 모두의 부분 수열이 되는 가장 긴 수열을 찾는 문제이다. 이 문제를 해결하기 위해 동적 프로그래밍(Dynamic Programming) 방식을 사용하며, 이를 구현하기 위한 점화식을 개발하고 코드로 옮겨야 한다. 풀이 과정 주어진 코드는 두 문자열 a와 b를 입력 받고, 이를 문자 배열로 변환한..
[BOJ/Java] 1938. 통나무 옮기기 1938번: 통나무 옮기기 첫째 줄에 주어진 평지의 한 변의 길이 N이 주어진다. (4 ≤ N ≤ 50) 주어진다. 이어서 그 지형의 정보가 0, 1, B, E로 이루어진 문자열로 주어진다. 한 줄에 입력되는 문자열의 길이는 N이며 입력 문 www.acmicpc.net 문제 해석 NxN 크기의 격자에서 통나무를 이동시켜야 하는 최소 횟수를 구하는 문제다. 통나무는 'B'로, 목표 위치는 'E'로 표현된다. 통나무는 3개의 연속된 칸을 차지하며, 수직이나 수평 방향으로만 움직일 수 있다. 또한, 통나무는 중심을 기준으로 90도 회전할 수 있으며, 각 격자 칸은 비어 있거나('0'), 장애물('1')이 있거나, 통나무의 시작 위치('B'), 혹은 목표 위치('E'..
[BOJ/Java] 17609. 회문 17609번: 회문 각 문자열이 회문인지, 유사 회문인지, 둘 모두 해당되지 않는지를 판단하여 회문이면 0, 유사 회문이면 1, 둘 모두 아니면 2를 순서대로 한 줄에 하나씩 출력한다. www.acmicpc.net 문제 해석 문제 "회문"은 문자열이 회문인지, 유사 회문인지, 일반 문자열인지를 판별하는 문제다. 회문은 정방향과 역방향이 같은 문자열을 말하고, 유사 회문은 한 문자를 제거하여 회문이 될 수 있는 문자열을 의미한다. 이 문제를 해결하기 위해서는 각 문자열에 대해 투 포인터 알고리즘을 활용하여 양 끝에서부터 문자를 비교하면서 회문 여부를 확인해야 한다. 풀이 과정 이 코드는 투 포인터를 활용하여 문자열의 시작 인덱스와 끝 인덱스를 가리키는 start와 en..
[BOJ/Java] 14501. 퇴사 14501번: 퇴사 첫째 줄에 백준이가 얻을 수 있는 최대 이익을 출력한다. www.acmicpc.net 문제 해석 "퇴사" 문제는 남은 N일 동안의 상담 스케줄을 고려하여 최대 수익을 얻을 수 있는 방법을 찾는 문제이다. 각 상담은 일정 기간과 해당 기간 동안 얻을 수 있는 금액이 정해져 있으며, 상담은 겹치지 않아야 한다. 풀이 과정 해당 문제를 해결하기 위해 사용된 알고리즘은 동적 프로그래밍(Dynamic Programming)이다. N일 동안 각 날짜에 대해 최대 수익을 저장할 dp 배열을 생성하고, 각 상담의 가능성을 검토하면서 최대 수익을 갱신한다. 입력으로 받은 상담 일정을 Consult 배열에 저장한다. dp 배열의 각 원소를 초기화한 후, 각 상담에 ..