Hamutaro - Hamtaro 4

์ „์ฒด ๊ธ€ 118

[Silver I/JAVA] 2667 ๋‹จ์ง€๋ฒˆํ˜ธ๋ถ™์ด๊ธฐ

https://www.acmicpc.net/problem/2667  ํ’€์ด์ด์ „์— ํ’€์—ˆ๋˜ ์˜์—ญ๊ตฌํ•˜๊ธฐ์™€ ์œ ์‚ฌํ•œ ๋ฌธ์ œ๋‹ค. (https://marginata.tistory.com/173)์˜์—ญ๊ตฌํ•˜๊ธฐ๊ฐ€ ์ƒ‰์น ๋˜์ง€ ์•Š์€ ์˜์—ญ์˜ ๋„“์ด๋ฅผ ๊ตฌํ•œ๊ฒƒ์ด๋ผ๋ฉด ๋ฐ˜๋Œ€๋กœ ๋‹จ์ง€๋ฒˆํ˜ธ๋ถ™์ด๊ธฐ๋Š” ์ง‘์ด ์žˆ๋Š”๊ณณ์˜ ๋„“์ด๋ฅผ ๊ตฌํ•˜๋ฉด ๋œ๋‹ค.์ฃผ์˜ํ•  ์ ์€ 0001010 ์ด๋Ÿฐ์‹์œผ๋กœ ๊ณต๋ฐฑ์—†์ด ์ž…๋ ฅ์„ ๋ฐ›๊ธฐ ๋•Œ๋ฌธ์— charAt()์„ ์ด์šฉํ•ด์„œ ํ•œ์ž๋ฆฌ์”ฉ charํ˜•์œผ๋กœ ์ถ”์ถœํ•œ ๋’ค์— ์ •์ˆ˜ํ˜•์œผ๋กœ ๋ณ€ํ™˜ํ•ด์ค˜์•ผ ํ•œ๋‹ค. ์ „์ฒด ์ฝ”๋“œimport java.io.*;import java.util.*;public class Main{ static int[][] map; //์ง€๋„ static int[] dx = {1,-1,0,0}; static int[] dy = {0,0,1,..

Algorithm/BOJ 2024.12.13

[Silver I/JAVA] 2583 ์˜์—ญ ๊ตฌํ•˜๊ธฐ

https://www.acmicpc.net/problem/2583  ์กฐ๊ฑดM*N ๋ชจ๋ˆˆ์ข…์ด์— K๊ฐœ์˜ ์ง์‚ฌ๊ฐํ˜•์„ ๊ทธ๋ฆผK๊ฐœ์˜ ์ง์‚ฌ๊ฐํ˜• ๋‚ด๋ถ€๋ฅผ ์ œ์™ธํ•œ ๋‚˜๋จธ์ง€ ๋ถ€๋ถ„์„ ๊ตฌํ•˜๋Š” ๊ฒƒ๋ถ„๋ฆฌ๋œ ์˜์—ญ ๊ฐœ์ˆ˜, ๊ฐ ์˜์—ญ์˜ ๋„“์ด๋ฅผ ์ถœ๋ ฅ(์˜ค๋ฆ„์ฐจ์ˆœ)ํ•„์š”ํ•œ ๊ฒƒ๋„ค ๋ฐฉํ–ฅ์œผ๋กœ ์›€์ง์ด๋ฉด์„œ ํƒ์ƒ‰ํ•˜๊ธฐ ์œ„ํ•œ dx, dy ๋ฐฐ์—ด์˜์—ญ ๋„“์ด ๊ฒฐ๊ณผ๋ฅผ ์ €์žฅํ•  ArrayList (๋„“์ด๊ฐ€ ์–ผ๋งˆ๋‚˜ ๋‚˜์˜ฌ์ง€ ๋ชจ๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ€๋ณ€์ ์ธ ArrayList ์‚ฌ์šฉ)์˜์—ญ ๋„“์ด๋ฅผ ์ €์žฅํ•  cntํ’€์ด์—ฌ๊ธฐ์„œ M์ด ๋†’์ด, N์ด ๋„ˆ๋น„์ด๋‹ค.x,y์ขŒํ‘œ๊ฐ’์€ ๋ฌธ์ œ์—์„œ ์„ค๋ช…ํ•˜๋Š” ๊ฒƒ๊ณผ ๋‹ค๋ฅด๋”๋ผ๋„ ๊ทธ๋Œ€๋กœ 2์ฐจ์› ๋ฐฐ์—ด๋กœ ๋‚˜ํƒ€๋‚ด๋„ ๋„“์ด๋Š” ๊ฐ™๋‹ค.x, y ๋ฒ”์œ„๋งŒํผ ์˜์—ญ์„ 1๋กœ ์ฑ„์›Œ์คŒ๋นˆ ์˜์—ญ์„ DFS ํƒ์ƒ‰  ์ „์ฒด ์ฝ”๋“œimport java.io.*;import java.util.*;public class Main{..

Algorithm/BOJ 2024.12.12

[Silver II/JAVA] 2210 ์ˆซ์žํŒ ์ ํ”„

https://www.acmicpc.net/problem/2210  ์กฐ๊ฑด์ˆซ์žํŒ์˜ ํฌ๊ธฐ๋Š” 5*5์ธ์ ‘ํ•œ ๋„ค ๋ฐฉํ–ฅ์œผ๋กœ ๋‹ค์„ฏ๋ฒˆ ์ด๋™ (์œ„, ์•„๋ž˜, ์˜ค๋ฅธ์ชฝ, ์™ผ์ชฝ)ํ•œ ๋ฒˆ ๊ฑฐ์ณค๋˜ ์นธ์„ ๋‹ค์‹œ ๊ฑฐ์ณ๋„ ๋จ = ๋ฐฉ๋ฌธ ์ฒดํฌ ํ•„์š”์—†์Œ์„œ๋กœ ๋‹ค๋ฅธ ์—ฌ์„ฏ ์ž๋ฆฌ ์ˆ˜๋“ค์˜ ๊ฐœ์ˆ˜ ๊ตฌํ•˜๊ธฐํ•„์š”ํ•œ ๊ฒƒ์ˆซ์žํŒ(grid) 2์ฐจ์› ๋ฐฐ์—ด๋ฐฉํ–ฅ ์ด๋™์„ ์œ„ํ•œ ๋ฐฐ์—ด dx, dy์ค‘๋ณต์„ ์ œ๊ฑฐํ•  ์ˆ˜ ์žˆ๋Š” Setํ’€์ดgrid 2์ฐจ์› ๋ฐฐ์—ด์— ๊ฐ’ ์ž…๋ ฅ๋ฐ›๊ธฐ๊ฐ๊ฐ์˜ ์ •์ (์ˆซ์žํŒ์˜ ์ˆซ์ž)์—์„œ DFS ํƒ์ƒ‰ํ•˜๊ธฐ์ธ์ ‘ํ•œ ๋„ค ๋ฐฉํ–ฅ์œผ๋กœ ์ด๋™int[] dx = {1, -1, 0, 0};int[] dy = {0, 0, 1, -1};/*์•„๋ž˜ : dx=1 dy=0 -> ํ–‰ ๋ฒˆํ˜ธ 1์ฆ๊ฐ€ x+1์œ„ : dx=-1 dy=0 -> ํ–‰ ๋ฒˆํ˜ธ 1๊ฐ์†Œ x-1์˜ค๋ฅธ์ชฝ : dx=0 dy=1 -> ์—ด ๋ฒˆํ˜ธ 1์ฆ๊ฐ€ y+..

Algorithm/BOJ 2024.12.12

[SpringBoot] ์Šคํ”„๋ง๋ถ€ํŠธ +Thymeleaf + H2 Database + JPA - ํ”„๋กœ์ ํŠธ ํ™˜๊ฒฝ์„ค์ • ๋ฐ H2 DB ์—ฐ๊ฒฐ ํ…Œ์ŠคํŠธ

ํ™˜๊ฒฝIDE : VScodeJava : 17SpringBoot : v3.4.0Gradle : v8.11.1DB : H2  1.Spring Initializr ์ด์šฉํ•ด์„œ ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ Packaging : JarJava version : 17 (์ž์‹ ์ด ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š” ๋ฒ„์ „. ํ„ฐ๋ฏธ๋„์—์„œ java -version ๋ช…๋ น์–ด๋กœ ํ™•์ธ)Dependencies : Spring Web, Spring Data JPA, H2 Database, LombokVScode Extensions : Spring Boot Extensions Pack, Java Extension Pack  2. application.properties (application.yml) ์„ค์ • ๋‚˜๋Š” yml์„ ์‚ฌ์šฉํ–ˆ๋‹ค.application.properties : ke..

Spring 2024.12.12

[Silver IV/JAVA] 1388 ๋ฐ”๋‹ฅ์žฅ์‹

https://www.acmicpc.net/problem/1388  '-' ์ด๋Ÿฐ ๋ฌธ์ž๊ฐ€ ๋‚˜์˜ค๋ฉด -> ์ด ๋ฐฉํ–ฅ์œผ๋กœ ํƒ์ƒ‰, '|' ์ด๋Ÿฐ ๋ฌธ์ž๊ฐ€ ๋‚˜์˜ค๋ฉด ↓ ์ด ๋ฐฉํ–ฅ์œผ๋กœ ํƒ์ƒ‰ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค.์—ฌ๊ธฐ์„œ ์–ด๋–ค ๊ฒฝ์šฐ์— ์ธ์ ‘๋ฆฌ์ŠคํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์–ด๋–ค ๊ฒฝ์šฐ์— 2์ฐจ์› ๋ฐฐ์—ด์„ ์‚ฌ์šฉํ•˜๋Š”์ง€๊ฐ€ ๊ถ๊ธˆํ•ด์กŒ๋‹ค.* ์ธ์ ‘ ๋ฆฌ์ŠคํŠธ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ- ์ •์ ์ด ๋งŽ๊ณ , ๊ฐ ์ •์ ์— ์—ฐ๊ฒฐ๋œ ๊ฐ„์„ ์˜ ์ˆ˜๊ฐ€ ์ ์„ ๋•Œ- ์ •์  ์ค‘์‹ฌ์˜ ํƒ์ƒ‰- ์ž…๋ ฅ์ด ์ •์ -๊ฐ„์„  ๋ชฉ๋ก์œผ๋กœ ์ฃผ์–ด์งˆ ๋•Œ* 2์ฐจ์› ๋ฐฐ์—ด(๊ทธ๋ฆฌ๋“œ, ์ธ์ ‘ ํ–‰๋ ฌ)์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ- ์ •์  ๊ฐœ์ˆ˜์— ๋น„ํ•ด ๊ฐ„์„  ๊ฐœ์ˆ˜๊ฐ€ ๋งŽ์„ ๋•Œ ( ์˜ˆ : N x N ํ–‰๋ ฌ์—์„œ ๋ชจ๋“  ์ •์ ์ด ์—ฐ๊ฒฐ๋œ ์™„์ „ ๊ทธ๋ž˜ํ”„ )- ๊ทธ๋ž˜ํ”„๊ฐ€ 2D ๊ฒฉ์ž ํ˜•ํƒœ์ผ ๋•Œ ( ์˜ˆ : ๋ฏธ๋กœ์ฐพ๊ธฐ, ์„ฌ์˜ ๊ฐœ์ˆ˜, ๊ฒฝ๋กœ ํƒ์ƒ‰ ๋“ฑ )- ์ •์  ๊ฐ„ ์—ฐ๊ฒฐ ์—ฌ๋ถ€ ์ฒดํฌํ•  ๋•Œ ( ์˜ˆ : ๊ฒฝ..

Algorithm/BOJ 2024.12.10

[Silver II/JAVA] 1260 DFS์™€ BFS

https://www.acmicpc.net/problem/1260   ์ธ์ ‘๋ฆฌ์ŠคํŠธ๋ฅผ ์ด์šฉํ•ด์„œ ์ •์ ์˜ ๋ฐฉ๋ฌธ์—ฌ๋ถ€๋ฅผ ์ฒดํฌํ•œ๋‹ค. (์ž…๋ ฅ์˜ˆ์‹œ)1 2 ์ž…๋ ฅ -> graph = [ [ ], [2], [1], [ ] , [ ] ]1 3 ์ž…๋ ฅ -> graph = [ [ ], [2, 3], [1], [1] , [ ] ]1 4 ์ž…๋ ฅ - > graph = [ [ ], [2, 3, 4], [1], [1] , [1] ]2 4 ์ž…๋ ฅ - > graph = [ [ ], [2, 3, 4], [1, 4], [1] , [1, 2] ]3 4 ์ž…๋ ฅ -> graph = [ [ ], [2, 3, 4], [1, 4], [1, 4] , [1, 2, 3] ]์•ž์—์„œ ํ’€์—ˆ๋˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ˆ˜์—… 1,2์™€ ์œ ์‚ฌํ•จ.  ํ’€์ดimport java.io.*;import j..

Algorithm/BOJ 2024.12.10

[Java] ํ”„๋ฆฌ๋ฏธํ‹ฐ๋ธŒ(Primitive) ํƒ€์ž…๊ณผ ๋ ˆํผ๋Ÿฐ์Šค(Reference) ํƒ€์ž…

Primitive TypeJava์˜ ํ”„๋ฆฌ๋ฏธํ‹ฐ๋ธŒ ํƒ€์ž…์€ 8๊ฐ€์ง€byte, short, int, long, float, double, char, boolean์Šคํƒ ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅ๋จ (์‹คํ–‰ ์†๋„๊ฐ€ ๋น ๋ฅด๊ณ  ๊ด€๋ฆฌ๊ฐ€ ์‰ฌ์›€)๊ฐ’์ด ์ƒ์„ฑ๋˜๋ฉด ์Šคํƒ ์˜์—ญ์— ์ง์ ‘ ํ• ๋‹น๋˜๋ฉฐ, ํ•จ์ˆ˜ ํ˜ธ์ถœ์ด ๋๋‚˜๋ฉด ์ž๋™์œผ๋กœ ์‚ฌ๋ผ์งint number = 10;  Null์„ ๋‹ด์„ ์ˆ˜ ์—†์Œint number = null; //๋ถˆ๊ฐ€๋Šฅ์ œ๋„ค๋ฆญ ํƒ€์ž… ์‚ฌ์šฉ ๋ถˆ๊ฐ€๋ŠฅList number; //๋ถˆ๊ฐ€๋Šฅ   Reference Type๊ฐ์ฒด์˜ ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ๋ฅผ ์ €์žฅํ•˜๋Š” ํƒ€์ž…ํด๋ž˜์Šค, ๋ฐฐ์—ด, ์ธํ„ฐํŽ˜์ด์Šค ๋“ฑํž™ ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅ๋จ (ํฐ ๋ฐ์ดํ„ฐ ์ €์žฅ ๊ฐ€๋Šฅ, ์ƒ๋ช…์ฃผ๊ธฐ๊ฐ€ ๊ธด ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ์— ์ ํ•ฉ)๋™์ ์œผ๋กœ ํž™ ๋ฉ”๋ชจ๋ฆฌ์— ํ• ๋‹น๋˜๋ฉฐ, ๊ฐ์ฒด๊ฐ€ ํ•„์š”์—†์„ ๋•Œ ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰ํ„ฐ์— ์˜ํ•ด ์ž๋™์œผ๋กœ ์ •๋ฆฌ๋จHello Wo..

Java 2024.12.07

[C++] ๊ธฐ์ดˆ ํด๋ž˜์Šค์™€ ํŒŒ์ƒ ํด๋ž˜์Šค์˜ ์ƒ์†

ํด๋ž˜์Šค์˜ ์ƒ์†Person ํด๋ž˜์Šค#ifndef PERSON1_H_INCLUDED#define PERSON1_H_INCLUDED#include #include using namespace std;class Person { string name;public: void setName(const string& n) { name = n; } string getName() const { return name; } void print() const { cout  Student ํด๋ž˜์Šค...#include "Person1.h"//Person ์ƒ์†๋ฐ›์Œclass Student : public Person { string school;public: void setSchool(const strin..

C++ 2024.12.04

[C++] ์—ฐ์‚ฐ์ž ๋‹ค์ค‘์ •์˜

์—ฐ์‚ฐ์ž ๋‹ค์ค‘์ •์˜C++์— ์ •์˜๋œ ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉ์ž๊ฐ€ ์„ ์–ธํ•œ ํด๋ž˜์Šค์˜ ๊ฐ์ฒด์— ๋Œ€ํ•˜์—ฌ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ์ •์˜ํ•˜๋Š” ๊ฒƒ์ฃผ์˜์‚ฌํ•ญ- ์—ฐ์‚ฐ์ž ์˜๋ฏธ๋ฅผ ์ž„์˜๋กœ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š๋Š”๋‹ค- ์—ฐ์‚ฐ์ž ๊ณ ์œ ํ•œ ํŠน์„ฑ์ด ์œ ์ง€๋˜๋„๋ก ํ•œ๋‹ค๋‹ค์ค‘์ •์˜๋ฅผ ํ•  ์ˆ˜ ์—†๋Š” ์—ฐ์‚ฐ์ž๋ฉค๋ฒ„ ์„ ํƒ ์—ฐ์‚ฐ์ž (.)๋ฉค๋ฒ„์— ๋Œ€ํ•œ ํฌ์ธํ„ฐ ์—ฐ์‚ฐ์ž (.*)์œ ํšจ๋ฒ”์œ„ ๊ฒฐ์ • ์—ฐ์‚ฐ์ž (::)์กฐ๊ฑด ์—ฐ์‚ฐ์ž (? :) ๋‹จํ•ญ ์—ฐ์‚ฐ์ž์˜ ๋‹ค์ค‘์ •์˜ํ”ผ์—ฐ์‚ฐ์ž๊ฐ€ 1๊ฐœ์ธ ์—ฐ์‚ฐ์ž ์ „์œ„ ํ‘œ๊ธฐ๋ฒ• ๋‹จํ•ญ ์—ฐ์‚ฐ์ž์˜ ๋‹ค์ค‘์ •์˜์˜ˆ์ œclass IntClass1 { int a;public: IntClass1(int n=0) : a(n) {} //์ƒ์„ฑ์ž IntClass1& operator ++ () { //์ „์œ„ ํ‘œ๊ธฐ ++ ์—ฐ์‚ฐ์ž ๋‹ค์ค‘์ •์˜ ++a; return *this; } int get..

C++ 2024.12.03