문제 링크 2 x n 타일링 문제 조건 가로 길이가 2이고 세로의 길이가 1인 직사각형모양의 타일이 있습니다. 이 직사각형 타일을 이용하여 세로의 길이가 2이고 가로의 길이가 n인 바닥을 가득 채우려고 합니다. 타일을 가로로 배치 하는 경우 타일을 세로로 배치 하는 경우 이 직사각형을 채우는 방법의 수를 구하시오. 가로의 길이 n은 60,000이하의 자연수 입니다. 경우의 수가 많아 질 수 있으므로, 경우의 수를 1,000,000,007으로 나눈 나머지를 return해주세요. 변수 설명 n : 직사각형의 가로의 길이 (매개변수) memo : memorization을 위한 배열 코드 설명 위 사진처럼 n의 경우의 수를 구하기 위해서는 n-1과 n-2의 경우의 수를 더해주면 알 수 있습니다. n-2의 경우의..
문제 링크 멀쩡한 사각형 문제 조건 가로, 세로 방향과 평행하게 격자 형태로 선이 그어져 있으며, 모든 격자칸은 1cm x 1cm 크기입니다. 누군가가 이 종이를 대각선 꼭지점 2개를 잇는 방향으로 잘라 놓아서 잘라지지 않은 부분만 사용하기로 했습니다. 이 때, 사용할 수 있는 정사각형의 개수를 구하시오. 변수 설명 W : 가로의 길이 (매개변수) H : 세로의 길이 (매개변수) mul : 모든 정사각형의 개수( W * H ) : long 타입 line : 사용할 수 없는 정사각형의 개수 코드 설명 문제를 처음 접했을 때, 어떻게 풀어야 할지 감이 안잡혀서 무작정 W가 7까지 그림을 그려보고 규칙을 찾아보았습니다. 일단 W * H에서 얼마나 빠지는지 생각해보았습니다. 첫 번째로, 주의깊게 봤던 부분은 W..
문제 링크 124 나라의 숫자 문제 조건 124 나라에서는 10진법이 아닌 다음과 같은 자신들만의 규칙으로 수를 표현합니다. 124 나라에는 자연수만 존재합니다. 124 나라에는 모든 수를 표현할 때 1, 2, 4만 사용합니다. 10진법 124 나라 10진법 124 나라 1 1 6 14 2 2 7 21 3 4 8 22 4 11 9 24 5 12 10 41 변수 설명 n : 10진법 수 (매개변수) 코드 설명 (1). n % 3 의 결과에 따라 124 나라에서 사용하는 숫자의 뒷자리를 알 수 있다. n % 3 == 0 이면 4 n % 3 == 1 이면 1 n % 3 == 2 이면 2 (2). n을 3으로 나눠준 뒤 (1)을 다시 진행한다. (3). n이 0이 될때까지 진행한다. 주의사항 n % 3 == 0..
문제 링크 전화번호 목록 문제 조건 전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인해야 한다. phone_book의 길이는 1 이상 1,000,000 이하이다. 각 전화번호의 길이는 1 이상 20 이하이다. 어떤 번호가 다른 번호의 접두어인 경우가 있으면 false를 그렇지 않으면 true를 return 한다. 변수 설명 매개변수 phone_book : 전화번호들이 담긴 배열 len : phone_book 배열의 길이 코드 설명 이중 for문을 통해 phone_book 안에 있는 요소들을 비교해줘야 한다. 이 때, startsWith 메서드를 사용하여 phoen_book[i]가 phone_book[j]의 접두어인지 검사해야 한다. 물론 phone_book[j]가 pho..
문제 링크 소수찾기 문제 조건 numbers는 길이 1 이상 7 이하인 문자열입니다. numbers는 0 ~ 9 까지 숫자만으로 이루어져 있습니다. "013"은 0, 1, 3 숫자가 적힌 종이 조각이 흩어져있다는 의미입니다. 종이 조각으로 만들 수 있는 소수가 몇 개인지 알아내야 합니다. 변수 설명 numbers : 각 종이 조각에 적힌 숫자가 적힌 문자열 (매개변수) func : numbers에서 만들 수 있는 수를 구하는 함수 hs : func에서 만들어진 수를 담는 hashset 코드 설명 Set hs = new HashSet(); int answer = 0; func("", numbers); numbers로 만들 수 있는 수를 hs에 넣어줍니다. public void func(String s, S..
문제 링크 모의고사 문제 조건 시험은 최대 10,000 문제로 구성되어 있습니다. 문제의 정답은 1, 2, 3, 4, 5 중 하나입니다. 가장 높은 점수를 받은 사람이 여럿일 경우, return하는 값을 오름차순 정렬해야 합니다. 변수 설명 answers : 1번 문제부터 마지막 문제까지의 정답이 순서대로 들은 배열 (매개변수) one : 1번 수포자가 찍는 방식 oneScore : 1번 수포자의 점수 two : 2번 수포자가 찍는 방식 twoScore : 2번 수포자의 점수 three : 3번 수포자가 찍는 방식 threeScore : 3번 수포자의 점수 len : answer의 길이 코드 설명 int[] one = {1, 2, 3, 4, 5}; int[] two = {2, 1, 2, 3, 2, 4, ..
문제 링크 주식가격 문제 조건 가격이 떨어지지 않은 기간이 몇 초인지 return하는 문제입니다. prices의 각 가격은 1 ~ 10,000 이하의 자연수입니다. prices의 길이는 2 ~ 100,000 이하입니다. 변수 설명 prices : 초 단위로 기록된 주식가격이 담긴 배열 (매개변수) Stock : idx(index)와 price(가격)을 가지는 class st : Stock 클래스를 가지는 스택 len : 매개변수 prices의 길이 코드 설명 [1] if (st.empty()) { st.push(new Stock(i, prices[i])); continue; } st이 비어있으면 i와 그 i에 해당하는 prices[i]를 st에 push해줍니다. [2] while(!st.isEmpty()..
문제 링크 쇠막대기 문제 조건 쇠막대기는 자신보다 긴 쇠막대기 위에만 놓일 수 있다. 쇠막대기를 다른 쇠막대기 위에 놓는 경우 완전히 포함되도록 놓되, 끝점은 겹치지 않도록 놓는다. 각 쇠막대기를 자르는 레이저는 적어도 하나 존재한다. 레이저는 어떤 쇠막대기의 양 끝점과도 겹치지 않는다. 레이저는 여는 괄호와 닫는 괄호의 인접한 쌍 '()'으로 표현한다. 또한 모든 '()'는 반드시 레이저를 표현한다. 쇠막대기의 왼쪽 끝은 여는 괄호 '('로, 오른쪽 끝은 닫힌 괄호 ')'로 표현된다. 변수 설명 arrangement : 쇠막대기와 레이저의 배치를 표현한 문자열 (매개변수) left_cnt : '('의 개수 코드 설명 arrageme..
- Total
- Today
- Yesterday
- C++
- Algorithm
- 이팩티브 자바
- 테라폼
- node.js
- BOJ
- programmers
- 객체지향
- 이펙티브 자바
- 디자인 패턴
- 클린 아키텍처
- 클린 코드
- Spring
- 알고리즘
- Java
- Kotlin
- 코테
- kkoon9
- 백준
- JPA
- Olympiad
- 디자인패턴
- Effective Java
- MSA
- AWS
- 프로그래머스
- BAEKJOON
- kotest
- Spring Boot
- 정규표현식
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |