본문 바로가기

분류 전체보기133

[코딩테스트/백준 알고리즘] 7576번 - 토마토 (Java, 자바 풀이) 문제 https://www.acmicpc.net/problem/7576 7576번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N이 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M,N ≤ 1,000 이다. 둘째 줄부터는 하나의 상자에 저장된 토마토 www.acmicpc.net 문제 설명 문제 풀이 너비 우선 탐색을 활용하면 해결할 수 있는 문제였다. 이 문제의 풀이에서는 해당 노드를 방문했을 때 몇 다리를 걸쳐서 왔는지 체크해야 했기 때문에 visit을 boolean이 아니라 int형으로 만들어서 값을 업데이트하여 확인했다. 코드 import java.util.*; import java.io.*; class Main { static Queue q .. 2022. 12. 30.
[코딩테스트/백준 알고리즘] 1931번 - 회의실 배정 (Java, 자바 풀이) 문제 https://www.acmicpc.net/problem/1931 1931번: 회의실 배정 (1,4), (5,7), (8,11), (12,14) 를 이용할 수 있다. www.acmicpc.net 문제 설명 문제 풀이 그리디 알고리즘 문제다. 회의 시간표를 회의 시간이 빨리 끝나는 순으로 정렬한다. 만약 끝나는 시간이 같다면 시작 시간 순으로 정렬한다. 회의 종료 시간을 기록하는 end의 초기 값을 0보다 작은 -1로 초기화한다. 정렬된 회의 시간표의 시작 시간을 end와 비교한다. 만약 회의 시작 시간이 end보다 크거나 같으면 count를 증가시키고 end값을 해당 회의의 종료 시각으로 변경한다. 끝까지 수행하여 답을 도출한다. 코드 import java.io.*; import java.util... 2022. 12. 29.
[코딩테스트/백준 알고리즘] 1697번 - 숨바꼭질 (Java, 자바 풀이) 문제 https://www.acmicpc.net/problem/1697 1697번: 숨바꼭질 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 www.acmicpc.net 문제 설명 문제 풀이 N을 기준으로 N - 1, N +1, N * 2 의 수를 그래프로 만들어서 큐에 넣고 너비우선탐색를 수행한다. 코드 import java.util.*; import java.io.*; class Main { static int[] visit = new int[100001]; static Queue q = new LinkedList(); stat.. 2022. 12. 26.
[스프링 공부/스프링 입문] 회원 도메인과 리포지토리 만들기 이번 강의에선 MemberRepository 인터페이스를 생성하고 이를 메모리에서 구현한 MeoryMemberRepository를 생성하였다. 왼쪽이 강사님 코드고 오른쪽이 내가 짠 코드다. 강사님께서는 id 값을 증가시킬 때 member 객체의 setId()를 사용해서 증가시키셨는데 나는 member는 domain이니까 setter가 없어야 한다고 생각해서 setter를 생성하지 않았다. store에 id를 증가시키고 그만인 거면 store.put(++sequence, member)이라고 하고 말았겠지만 반환 값으로 id가 들어간 객체를 반환을 해줘야 했다. 그래서 newMember라는 임시 객체를 만들어주고 그 안에 생성자로 id를 넣어서 반환했다. 맞는 방법인지는 모르겠다. 인프런 김영한 강사님의 .. 2022. 12. 22.