분류 전체보기 102

1158번 요세푸스 문제 -자바(Java)

https://www.acmicpc.net/problem/1158 바킹독 연결 리스트 마지막 문제이다.문제요세푸스 문제는 다음과 같다.1번부터 N번까지 N명의 사람이 원을 이루면서 앉아있고, 양의 정수 K(≤ N)가 주어진다. 이제 순서대로 K번째 사람을 제거한다. 한 사람이 제거되면 남은 사람들로 이루어진 원을 따라 이 과정을 계속해 나간다. 이 과정은 N명의 사람이 모두 제거될 때까지 계속된다. 원에서 사람들이 제거되는 순서를 (N, K)-요세푸스 순열이라고 한다. 예를 들어 (7, 3)-요세푸스 순열은 이다.N과 K가 주어지면 (N, K)-요세푸스 순열을 구하는 프로그램을 작성하시오.입력첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000)출력예제와 같이 ..

알고리즘/백준 2024.06.05

백준 5397번 키로거- 자바(Java)

https://www.acmicpc.net/problem/5397 문제창영이는 강산이의 비밀번호를 훔치기 위해서 강산이가 사용하는 컴퓨터에 키로거를 설치했다. 며칠을 기다린 끝에 창영이는 강산이가 비밀번호 창에 입력하는 글자를 얻어냈다.키로거는 사용자가 키보드를 누른 명령을 모두 기록한다. 따라서, 강산이가 비밀번호를 입력할 때, 화살표나 백스페이스를 입력해도 정확한 비밀번호를 알아낼 수 있다. 강산이가 비밀번호 창에서 입력한 키가 주어졌을 때, 강산이의 비밀번호를 알아내는 프로그램을 작성하시오. 강산이는 키보드로 입력한 키는 알파벳 대문자, 소문자, 숫자, 백스페이스, 화살표이다.입력첫째 줄에 테스트 케이스의 개수가 주어진다. 각 테스트 케이스는 한줄로 이루어져 있고, 강산이가 입력한 순서대로 길이가 ..

알고리즘/백준 2024.06.05

백준 1406번 에디터 - Java 자바

https://www.acmicpc.net/problem/1406 문제한 줄로 된 간단한 에디터를 구현하려고 한다. 이 편집기는 영어 소문자만을 기록할 수 있는 편집기로, 최대 600,000글자까지 입력할 수 있다.이 편집기에는 '커서'라는 것이 있는데, 커서는 문장의 맨 앞(첫 번째 문자의 왼쪽), 문장의 맨 뒤(마지막 문자의 오른쪽), 또는 문장 중간 임의의 곳(모든 연속된 두 문자 사이)에 위치할 수 있다. 즉 길이가 L인 문자열이 현재 편집기에 입력되어 있으면, 커서가 위치할 수 있는 곳은 L+1가지 경우가 있다.이 편집기가 지원하는 명령어는 다음과 같다.L커서를 왼쪽으로 한 칸 옮김 (커서가 문장의 맨 앞이면 무시됨)D커서를 오른쪽으로 한 칸 옮김 (커서가 문장의 맨 뒤이면 무시됨)B커서 왼쪽에..

알고리즘/백준 2024.06.05

백준 1926 번 그림 -자바(Java)

https://www.acmicpc.net/problem/1926 문제어떤 큰 도화지에 그림이 그려져 있을 때, 그 그림의 개수와, 그 그림 중 넓이가 가장 넓은 것의 넓이를 출력하여라. 단, 그림이라는 것은 1로 연결된 것을 한 그림이라고 정의하자. 가로나 세로로 연결된 것은 연결이 된 것이고 대각선으로 연결이 된 것은 떨어진 그림이다. 그림의 넓이란 그림에 포함된 1의 개수이다.입력첫째 줄에 도화지의 세로 크기 n(1 ≤ n ≤ 500)과 가로 크기 m(1 ≤ m ≤ 500)이 차례로 주어진다. 두 번째 줄부터 n+1 줄 까지 그림의 정보가 주어진다. (단 그림의 정보는 0과 1이 공백을 두고 주어지며, 0은 색칠이 안된 부분, 1은 색칠이 된 부분을 의미한다)출력첫째 줄에는 그림의 개수, 둘째 줄에..

알고리즘/백준 2024.05.10

프로그래머스 미로 탈출 - 자바(java)

https://school.programmers.co.kr/learn/courses/30/lessons/159993 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr  최소 거리를 구하는 문제이기 때문에 bfs로 시작지점에서 레버까지의 거리와 레버에서 종료지점까지의 거리를 더하는 방법으로 문제를 풀었다.import java.util.LinkedList;import java.util.Queue;import java.awt.Point;import java.util.Arrays;class Solution { //시작 지점, 출구, 레버 저장하고 // bf..

프로그래머스 2024.05.09

백준 2178번 미로탐색 - 자바(Java)

https://www.acmicpc.net/problem/2178 문제N×M크기의 배열로 표현되는 미로가 있다.101111101010101011111011미로에서 1은 이동할 수 있는 칸을 나타내고, 0은 이동할 수 없는 칸을 나타낸다. 이러한 미로가 주어졌을 때, (1, 1)에서 출발하여 (N, M)의 위치로 이동할 때 지나야 하는 최소의 칸 수를 구하는 프로그램을 작성하시오. 한 칸에서 다른 칸으로 이동할 때, 서로 인접한 칸으로만 이동할 수 있다.위의 예에서는 15칸을 지나야 (N, M)의 위치로 이동할 수 있다. 칸을 셀 때에는 시작 위치와 도착 위치도 포함한다.입력첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들..

알고리즘/백준 2024.05.09

99클럽 코테 스터디 18일차 TIL 연속된 부분 수열의 합 - 자바(Java)

https://school.programmers.co.kr/learn/courses/30/lessons/178870 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 보자마자 투포인터가 떠올랐다. 배열에 위치를 가르키는 포인터를 두개 사용하여 왼쪽은 제일 처음 오른쪽도 0에서 시작하지만 목표하는 k가 되기 위하여 오른쪽 포인터를 옮겨가며 더해주다가 k보다 커지면 왼쪽포인터를 이동하는 방식이다. 처음에 작성한 코드 class Solution { public int[] solution(int[] sequence, int k) { //투포인터 int left = ..

프로그래머스 2024.04.16

99클럽 코테 스터디 17일차 TIL 백준 Z -자바(Java)

https://www.acmicpc.net/problem/1074 1074번: Z 한수는 크기가 2N × 2N인 2차원 배열을 Z모양으로 탐색하려고 한다. 예를 들어, 2×2배열을 왼쪽 위칸, 오른쪽 위칸, 왼쪽 아래칸, 오른쪽 아래칸 순서대로 방문하면 Z모양이다. N > 1인 경우, 배열을 www.acmicpc.net 99클럽 스터디의 카톡방 추천으로 풀게 되었다. 처음에는 배열로 관리하려했으나 그냥 숫자로 카운트 하면 될것 같아 배열을 생성하지 않고 만들었다. 재귀 호출을 사용하여 4등분한뒤 좌표의 위치를 확인하여 쪼개며 재귀를 하였다. 처음에 코드를 작성하고 이상하게 안되어 확인해 확인해보니 문제의 목표가 r행 c열을 몇 번째로 방문했는지 출력한다. 여서 n번째 n열을 몇번째인줄 알았다. 그래서 1..

알고리즘/백준 2024.04.15

99클럽 코테 스터디 17일차 TIL JadenCase 문자열 만들기 - 자바Java

https://school.programmers.co.kr/learn/courses/30/lessons/12951 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 처음 봤을때 문제가 너무 쉬워 보였다. LowerCase랑 UpperCase를 사용하면 쉽게 해결 될 것 같았다. 하지만 무슨 문제인지 대부분의 케이스가 실패로 떳다. import java.util.*; class Solution { public String solution(String s) { StringBuilder sb = new StringBuilder(); StringTokenizer s..

프로그래머스 2024.04.14

99클럽 코테 스터디 16일차 TIL 모음 사전

https://school.programmers.co.kr/learn/courses/30/lessons/84512 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 완전 탐색이라 어떻게 완전 탐색을 할지 고민이 되었는데 최근에 DFS를 학습하였기때문에 DFS를 통해 모든 단어들을 배열에 넣기로 하였다. 단어의 길이가 5까지 밖에 안되기때문에 완전탐색이 가능한것이라 이해했다. import java.util.*; class Solution { static String [] words = {"A", "E", "I", "O", "U"}; public int solu..

프로그래머스 2024.04.13
반응형