[백준/Java] #14503 로봇 청소기
2023. 6. 20. 19:13
알고리즘
로봇 청소기 (14503번) 사용 언어 : Java 레벨 : 골드5 📎 https://www.acmicpc.net/problem/14503 14503번: 로봇 청소기 첫째 줄에 방의 크기 $N$과 $M$이 입력된다. $(3 \le N, M \le 50)$ 둘째 줄에 처음에 로봇 청소기가 있는 칸의 좌표 $(r, c)$와 처음에 로봇 청소기가 바라보는 방향 $d$가 입력된다. $d$가 $0$인 경우 북쪽 www.acmicpc.net ❓ 접근 문제를 보자마자 그동안 풀어본 BFS 문제 풀이들을 약간 바꿔서 사용하면 되겠다 생각했다. 1. 현재 칸이 청소되지 않은 경우, 현재 칸을 청소한다. 2. 현재 칸의 주변 4칸 중 청소되지 않은 빈 칸이 없는 경우 바라보는 방향을 유지한 채로 한 칸 후진할 수 있다면 ..
[백준/Java] #16985 Maaaaaaaze
2023. 6. 20. 17:24
알고리즘
Maaaaaaze (16985번) 사용 언어 : Java 레벨 : 골드2 📎 https://www.acmicpc.net/problem/16985 16985번: Maaaaaaaaaze 첫째 줄부터 25줄에 걸쳐 판이 주어진다. 각 판은 5줄에 걸쳐 주어지며 각 줄에는 5개의 숫자가 빈칸을 사이에 두고 주어진다. 0은 참가자가 들어갈 수 없는 칸, 1은 참가자가 들어갈 수 있는 칸을 www.acmicpc.net ❓ 접근 조건이 굉장히 많고 번거로워서 문제를 완전히 이해하는데 시간이 좀 걸렸다. 1. 백트래킹을 이용해 5개의 판의 쌓을 순서를 정한다. (순열) 2. 백트래킹을 이용해 각 판의 회전방향을 정한다. (중복순열) 3. 순서대로 회전방향에 맞게 판을 쌓는다. 4. 입구와 출구가 1일 경우 BFS를 돌..
[백준/Java] #18808 스티커 붙이기
2023. 6. 2. 19:16
알고리즘
스티커 붙이기 (18808번) 사용 언어 : Java 레벨 : 골드3 📎 https://www.acmicpc.net/problem/18808 18808번: 스티커 붙이기 혜윤이는 최근에 다양한 대회를 참여하면서 노트북에 붙일 수 있는 스티커들을 많이 받았다. 스티커는 아래와 같이 사각 모눈종이 위에 인쇄되어 있으며, 스티커의 각 칸은 상하좌우로 모두 연 www.acmicpc.net ❓ 접근 문제가 굉장히 긴데 열심히 읽어보니 문제 자체는 그렇게 어렵지 않았는데 구현을 어떻게 하느냐가 문제였다. 문제를 간단하게 요약하면 1. 왼쪽 위부터 스티커를 붙일 수 있는지 확인한다. 2. 전부 다 확인했을 때 붙이지 못하면 90도 회전한다. 3. 회전 후 1 ~ 2 과정 반복 (270도까지 회전) 4. 전체 스티커가..
[TIL] IntelliJ IDEA에서 DB 연결
2023. 5. 23. 17:27
멋쟁이사자처럼
DB 연결을 위한 스키마, 테이블 생성 spring-db 스키마 생성 users 테이블 생성 CREATE TABLE `spring-db`.`users` ( `id` VARCHAR(10) NOT NULL, `name` VARCHAR(20) NOT NULL, `password` VARCHAR(10) NOT NULL, PRIMARY KEY (`id`)); IntelliJ에서 domain Package 생성 public class User { private String id; private String name; private String password; public String getId() { return id; } public String getName() { return name; } public St..
[백준/Java] #4179 불! (⚠️시행착오 엄청 많음 주의⚠️)
2023. 5. 18. 19:04
알고리즘
오늘은 피코 스터디에서 BFS 문제들을 풀고 코드리뷰 하는 시간을 가졌다. 다른 BFS 문제는 큰 고난 없이 잘 풀었는데 나의 멘탈을 탈탈 털게 해 준 문제가 있어서 들고 와봤다. [백준 - #4179] 불! 문제 링크 4179번: 불! 입력의 첫째 줄에는 공백으로 구분된 두 정수 R과 C가 주어진다. 단, 1 ≤ R, C ≤ 1000 이다. R은 미로 행의 개수, C는 열의 개수이다. 다음 입력으로 R줄동안 각각의 미로 행이 주어진다. 각각의 문자 www.acmicpc.net ✔️ 문제 설명 지훈이는 미로에서 일을 한다. 지훈이를 미로에서 탈출하도록 도와주자!미로에서의 지훈이의 위치와 불이 붙은 위치를 감안해서 지훈이가 불에 타기 전에 탈출할 수 있는지의 여부, 그리고 얼마나 빨리 탈출할 수 있는지를 ..
[백준/Java] #2164 카드2
2023. 5. 10. 16:10
알고리즘
[백준 - #2164] 카드2 https://www.acmicpc.net/problem/2164 2164번: 카드2 N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가 www.acmicpc.net ✔️ 문제 설명 N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가 한 장 남을 때까지 반복하게 된다. 우선, 제일 위에 있는 카드를 바닥에 버린다. 그 다음, 제일 위에 있는 카드를 제일 아래에 있는 카드 밑으로 옮긴다...
[알고리즘] 바킹독 실전 알고리즘 0x04 연결리스트 연습문제
2023. 5. 8. 13:23
Java
이 글은 바킹독님의 실전 알고리즘 커리큘럼을 보면서 푼 문제를 작성한 글입니다. 링크 : https://blog.encrypted.gg/932 [백준 - #1406] 에디터 📎 https://www.acmicpc.net/problem/1406 1406번: 에디터 첫째 줄에는 초기에 편집기에 입력되어 있는 문자열이 주어진다. 이 문자열은 길이가 N이고, 영어 소문자로만 이루어져 있으며, 길이는 100,000을 넘지 않는다. 둘째 줄에는 입력할 명령어의 개수 www.acmicpc.net 💡 풀이 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public ..
[알고리즘] 바킹독 실전 알고리즘 0x03 배열 연습문제
2023. 5. 4. 20:47
알고리즘
이 글은 바킹독님의 실전 알고리즘 커리큘럼을 보면서 푼 문제를 작성한 글입니다. 링크 : https://blog.encrypted.gg/927 [실전 알고리즘] 0x03강 - 배열 안녕하세요, 바킹독입니다.. 저번 단원의 내용인 코드 작성 요령 II는 순한 맛이었는데 오늘건 그냥 단맛입니다. 난이도가 굉장히 낮으니 긴장 푸시고 강의로 들어가겠습니다. 목차는 따로 설명 blog.encrypted.gg [#10808] 알파벳 개수 📎https://www.acmicpc.net/problem/10808 10808번: 알파벳 개수 단어에 포함되어 있는 a의 개수, b의 개수, …, z의 개수를 공백으로 구분해서 출력한다. www.acmicpc.net 💡 풀이 단순하게 알파벳의 개수가 담긴 배열을 선언해주고 들어온..