java 5

[백준] 1034 램프 - JAVA

안녕하세요 오랜만에 알고리즘 문제 풀이 글을 올려보겠습니다. 문제 링크https://www.acmicpc.net/problem/1034 풀이스위치를 조작하면 해당 열의 모든 램프가 반대로 뒤집히므로 같은 모양을 가진 row끼리만 같은 모양을 계속해서 유지할 수 있습니다.하나의 row를 전부 1로 만들었을때 해당 row와 같은 모양의 row 개수를 세서 최대값을 반환하면 됩니다. 먼저 해당 row가 스위치 횟수 K만큼 눌렀을 때 전부 1이 될 수 있는지 판별해야 합니다.먼저 K가 row의 0의 개수보다 커야 전부 1을 만들 수 있습니다. ex) K = 2, 10001이면 아무리 해도 일단 11111을 만들 수 없음만약 0의 개수만큼 스위치를 조작해서 전부 1을 만들었다면 스위치 횟수가 짝수만큼 남아있어야..

카테고리 없음 2026.04.02

[프로그래머스] LV3 수레 움직이기 JAVA

https://school.programmers.co.kr/learn/courses/30/lessons/250134 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제n x m 크기 격자 모양의 퍼즐판이 주어집니다.퍼즐판에는 빨간색 수레와 파란색 수레가 하나씩 존재하며, 각 수레들은 자신의 시작 칸에서부터 자신의 도착 칸까지 이동해야 합니다.모든 수레들을 각자의 도착 칸으로 이동시키면 퍼즐을 풀 수 있습니다. 각 턴마다 반드시 모든 수레를 상하좌우로 인접한 칸으로 한 칸 이동해야 합니다.수레 이동에는 규칙이 있습니다.1. 수레는 벽이나 격자 판 밖으로 이동할 수 없다.2. 수레는 자신이 방문했던 칸으로 움직일 ..

Algorithm/Java 2025.11.01

[프로그래머스] LV2 비밀 코드 해독 JAVA

https://school.programmers.co.kr/learn/courses/30/lessons/388352문제요약비밀 조직의 비밀 코드를 해독해야 합니다.1부터 n까지의 서로 다른 정수 5개가 오름차순으로 정렬된 비밀 코드를 가지고 있으며, 암호 분석 도구를 사용하여 m번의 시도를 할 수 있습니다.각 시도마다 5개의 정수를 입력하면, 그중 몇 개가 비밀 코드에 포함되어 있는지 알려줍니다.ex) 만약 비밀 코드가 [3, 5, 7, 9, 10]이고, 입력한 정수가 [1, 2, 3, 4, 5]라면 포함된 정수는 3, 5이므로 2를 응답합니다.총 m번의 시도를 통해 각각 응답 개수를 알려줄 때 가능한 비밀 코드 조합을 구하는 문제입니다. 정수 n과 입력한 정수를 담은 2차원 배열 q, 몇 개 포함되어 ..

Algorithm/Java 2025.10.08

[Baekjoon] G4 이차원 배열과 연산 JAVA

문제크기가 3×3인 배열 A가 있다. 배열의 인덱스는 1부터 시작한다. 1초가 지날때마다 배열에 연산이 적용된다.R 연산: 배열 A의 모든 행에 대해서 정렬을 수행한다. 행의 개수 ≥ 열의 개수인 경우에 적용된다.C 연산: 배열 A의 모든 열에 대해서 정렬을 수행한다. 행의 개수 한 행 또는 열에 있는 수를 정렬하려면, 각각의 수가 몇 번 나왔는지 알아야 한다. 그 다음, 수의 등장 횟수가 커지는 순으로, 그러한 것이 여러가지면 수가 커지는 순으로 정렬한다. 그 다음에는 배열 A에 정렬된 결과를 다시 넣어야 한다. 정렬된 결과를 배열에 넣을 때는, 수와 등장 횟수를 모두 넣으며, 순서는 수가 먼저이다. 예를 들어, [3, 1, 1]에는 3이 1번, 1가 2번 등장한다. 따라서, 정렬된 결과는 [3, 1,..

Algorithm/Java 2025.03.14

[Baekjoon] G4 가장 긴 바이토닉 부분 수열 JAVA

문제수열 S가 어떤 수 Sk를 기준으로 S1 Sk+1 > ... SN-1 > SN을 만족한다면, 그 수열을 바이토닉 수열이라고 한다.예를 들어, {10, 20, 30, 25, 20}과 {10, 20, 30, 40}, {50, 40, 25, 10} 은 바이토닉 수열이지만, {1, 2, 3, 2, 1, 2, 3, 2, 1}과 {10, 20, 30, 40, 20, 30} 은 바이토닉 수열이 아니다.수열 A가 주어졌을 때, 그 수열의 부분 수열 중 바이토닉 수열이면서 가장 긴 수열의 길이를 구하는 프로그램을 작성하시오.해결 방식앞에서 가장 긴 증가하는 수열을 구하고 뒤에서 가장 긴 증가하는 수열을 구하면 가장 큰 맞물리는 지점이 존재맞물리는 지점이 왼쪽부터 증가하는 수열 + 왼쪽부터 감소하는 수열의길이맞물리는..

Algorithm/Java 2025.03.05