⏰문제https://school.programmers.co.kr/learn/courses/30/lessons/258712 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 선물을 직접 전하기 힘들 때 카카오톡 선물하기 기능을 이용해 축하 선물을 보낼 수 있습니다. 당신의 친구들이 이번 달까지 선물을 주고받은 기록을 바탕으로 다음 달에 누가 선물을 많이 받을지 예측하려고 합니다. - 두 사람 사이에 더 많은 선물을 준 사람이 선물을 받음 - 선물 기록이 없거나 주고받은 수가 같다면, 선물 지수가 더 큰 사람이 선물 지수가 더 작은 사람에게 받음 - 선물..
전체 글
기록 겸 공부 블로그입니다. 문제를 해결해 나아가는 과정을 기록하고 있어요. 잘못된 부분이 있으면 자유롭게 댓글 달아 주세요👍![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbwCjVb%2FbtsI3YxFLUF%2F9Ce0qQJWBsS8CZlixfrBSk%2Fimg.png)
🐛문제Test에 아래와 같은 코드를 작성했다. @DisplayName("updateArticle : 블로그 글 수정에 성공한다.")@Testpublic void updateArticle() throws Exception {} 원래라면 실행탭에 `updateArticle : 블로그 글 수정에 성공한다.`라는 글이 떠야 하는데 아래 사진과 같이 아무것도 뜨지 않았다! 🛠️ 해결 방법1. `File` -> `Settings` -> `Build, Execution, Deployment` -> `Build Tools` -> `Gradle`2. `Gradle Projects` -> `Run tests using`에서 기존에 `Gradle` -> `IntelliJ IDEA`로 바꾼다. 수정했더니 아래와 같..
🐛문제`@AllArgsConstructor`, `@Getter` 등 롬복을 인식 못하는 오류가 생겼다. 🛠️ 해결 방법1. Lombok 의존성 확인프로젝트에서 gradle을 사용해서 build.gradle을 확인했다. dependencies { compileOnly 'org.projectlombok:lombok' annotationProcessor 'org.projectlombok:lombok'} 2. IDE Lombok 플러그인 확인1. `File` -> `Settings` -> `Plugins`Lombok 플러그인이 설치되어 있는지 확인2. `File` -> `Settings` -> `Build, Execution, Deployment` -> `Compiler` -> `Annot..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FH259J%2FbtsIwwIshnt%2FmJKQrQVn7yUlDfY7GkiO51%2Fimg.png)
⏰문제https://www.acmicpc.net/problem/23796 💡풀이1. 정답용으로 빈칸인 answer_map 생성, 방향에 따라 switch로 분리- 배열은 long[][]을 사용하기2. for문을 돌면서 한 줄씩 탐색해서 0이 아닌 데이터를 Queue에 집어넣는다. 3. Queue에 있는 내용을 tmp = q.poll()하고 다음 숫자를 next = q.peek()으로 뽑아내면서,숫자가 똑같으면 answer_map에 2배를 해서 집어넣고, next를 Queue에서 뽑아야 하므로 poll로 뽑아낸다. 다르면 tmp만 집어넣는다. 4. 마지막에는 peek()을 할 수 없어서 null처리를 해주었다. ⌨️ 코드import java.io.BufferedReader;import java.io.I..
https://www.acmicpc.net/problem/2206 ⏰문제N×M의 행렬로 표현되는 맵이 있다. 맵에서 0은 이동할 수 있는 곳을 나타내고, 1은 이동할 수 없는 벽이 있는 곳을 나타낸다. 당신은 (1, 1)에서 (N, M)의 위치까지 이동하려 하는데, 이때 최단 경로로 이동하려 한다. 최단경로는 맵에서 가장 적은 개수의 칸을 지나는 경로를 말하는데, 이때 시작하는 칸과 끝나는 칸도 포함해서 센다.만약에 이동하는 도중에 한 개의 벽을 부수고 이동하는 것이 좀 더 경로가 짧아진다면, 벽을 한 개 까지 부수고 이동하여도 된다.한 칸에서 이동할 수 있는 칸은 상하좌우로 인접한 칸이다.맵이 주어졌을 때, 최단 경로를 구해 내는 프로그램을 작성하시오.입력첫째 줄에 N(1 ≤ N ≤ 1,000), M(..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlV8R4%2FbtsFX1RIZZi%2FGUrBgPKywFoTKaB3eaWkwK%2Fimg.png)
1. EC2 인스턴스 생성 TEST용으로 간단한 EC2를 만들어보자. 키 페어는 설정해주고 나머지 옵션은 default로 둔다. 키 페어 생성 방법 더보기 키페어가 없다면 하나 만들어주자. 있다면 기존 걸 선택해도 괜찮다. 나는 `새 키 페어 생성`을 눌러 키 페어를 생성하겠다. `키 페어 생성` 클릭 2. PuTTY 다운 https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html Download PuTTY: latest release (0.80) This page contains download links for the latest released version of PuTTY. Currently this is 0.80, released on 202..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F5SaBQ%2FbtsFWKXsrG8%2FJmxmno8FkShcjpx9ihdW2K%2Fimg.png)
인강들으면서 Cloudwatch를 실습했는데, 윈도우라 안 되는 부분이 있었다. 그런데 내가 구글링을 잘 못하는 건지 관련된 자세한 글이 없어서 까먹을까봐 포스팅한다. 1. EC2 인스턴스 생성 Test용으로 만들거니까 정말 단순한 EC2 인스턴스를 만들어보자 좌측 탭의 `인스턴스` > `인스턴스` 클릭 `인스턴스 시작` 클릭 참고로 지역은 서울로 설정함 이름 설정해주기 나머지는 다 default로 해주고 키페어도 설정해주고 인스턴스를 생성하자! 키페어 생성 방법 더보기 키페어가 없다면 하나 만들어주자. 있다면 기존 걸 선택해도 괜찮다. 나는 `새 키 페어 생성`을 눌러 키 페어를 생성하겠다. `키 페어 생성` 클릭 방금 인스턴스를 만들어서 텅텅 비었다. 이제 여기에 Local PC에 있는 파일을 전송해..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Ft9oug%2FbtsFUIkR6nu%2Fhp7knnIWaif2vJ2HktWbn1%2Fimg.png)
보안 그룹을 삭제하려고 하니까 안 됌? 왜지? ec2인스턴스랑 rds인스턴스 모두 삭제되었는데? 이유를 보면 그 원인을 알 수 있다. 1개의 보안 그룹이 연결되어있습니다. 이 경우 기본 보안 그룹이나 다른 보안 그룹이 해당 보안 그룹을 참조하고 있는 경우 라는 것을 알게 되었다. 참조는 보안 해당 보안그룹의 인바운드 및 아웃바운드 규칙을 살펴보면 된다. 둘 다 삭제하고 규칙 저장을 눌러주었다. 그러니 다시 삭제를 할 때 해당 창이 뜨고 잘 삭제가 되었다.
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FX6Jae%2FbtsFE58Ewe2%2Fosn0gmG8XUXKYCUuIlAVU0%2Fimg.png)
이 글은 유튜브 '자바의 정석 - 기초편'을 보고 정리한 글입니다. 📂content 1. Optional ⚝ T 타입 객체의 래퍼클래스 - Optional public final class Optional { private final T value; //T타입의 참조변수 ... } 1. 래퍼클래스? - 기본 자료타입(primitive type)을 객체로 다루기 위해서 사용하는 클래스 - T타입의 참조변수를 갖고 있음. - Integer, Long 등 2. Optional? Optional도 래퍼클래스인데 제네릭이 T라서 어떤 타입이든지 다 저장이 가능하다. => 모든 종류의 객체 저장 가능 (Null도 가능) 3. Optional 필요한 이유 Optional을 이용하면 Null을 간접적으로 처리 가능 ①..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FJeRRI%2FbtsFGByOyMs%2F0Pa8ia1kYVhVsXTc6OtANk%2Fimg.png)
이 글은 유튜브 '자바의 정석 - 기초편'을 보고 정리한 글입니다. 📂content 1. 스트림의 연산 - 중간 연산 중간 연산 설명 Stream distinct() 중복을 제거 Stream filter(Predicate predicate) 조건에 안 맞는 요소 제외 Stream limit(long maxSize) 스트림의 일부를 잘라낸다 Stream skip(long n) 스트림의 일부를 건너뛴다. Stream peek(Consumer action) 스트림의 요소에 작업 수행 => 작업 중간에 잘 처리되었는지 확인할 때 많이 쓴다. Stream sorted() Stream sorted(Comparator