1. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/133502 2. 풀이 자료구조를 조금 안다면, Stack문제라는걸 바로 파악할 수 있다. 4개를 pop 했을 때, 후입선출 자료구조기 때문에 역순 빵 - 고기 - 야채 - 빵인지 판별 해서, 햄버거가 완성되면 빼고 완성되지 않으면 역순으로 삽입하면된다. 배열 값이 1인 빵의 개수를 센다. 스택에 삽입 빵의 개수가 짝수가 됐을 때부터 4개씩 pop하면서 햄버거인가 판별한다. 햄버거로 판별되면, 정답+1 / 빵개수 -2 햄버거가 아니면 역순으로 삽입 개인적으로 코드는 숏 코딩이고 뭐고 직관적인게 최고라고 생각한다. 내가 짠 코드가 최고란 뜻은 당연히 아니다.. 3. 코드 import java...
1. Array 에서 ArrayList 변환 1.1. Stream 이용 String[] arr = new String [] {"1", "A", "a", "b"}; List list = Arrays.stream(arr).collect(Collectors.toList()); System.out.println(list.getClass().getName()); 결과화면 : 1.2. Lists 클래스 이용 String[] arr = new String [] {"1", "A", "a", "b"}; List list = Arrays.asList(arr); list.forEach(System.out::println); 결과화면 : 2. ArrayList 에서 Array 변환 2.1. toArray() 이용 String..
1. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/138477 2. 풀이 어쩌다 보니 계속 우선순위 큐 문제를 풀게 됐다. peek()을 알면 쉽게 풀 수 있다. peek()은 우선순위 큐의 값을 pop 하지 않고, 맨 앞 값을 가져올 수 있다. 오름차순으로 자동 정렬되는 우선순위 큐에서는, 맨 앞 값이 최하위 점수가 된다. 정리하면 아래와 같은 순서로 구현했다. 우선순위 큐와 정답을 ArrayList로 저장할 answerList 정의 우선순위 큐에 k개가 다 차기 전에는 우선순위 큐에 무조건 삽입 peek() 함수를 통해 우선순위 큐의 맨 앞의 값을 가져와 answerList에 삽입 k개가 다 차면, score와 우선순위 큐의 맨 앞의 값..
내가 운영/개발 하는 서비스에선 사용자나, 구분이 필요한 무언가를 위해 13자리의 난수를 생성해 아이디를 부여한다. 난수 생성기를 올바르게 사용하지 못 한다면, 동일한 아이디가 생성되고, 그 아이디로 특정 데이터를 insert했을 때 DB에선 PK 에러가 발생한다. 빼도 박도 못하는 서버 에러다. 최근 로스트아크에서 카드 확률에 대한 논쟁이 있었었다. 영웅 카드 팩 230개를 개봉했다. 첫 개봉에서 사이카 카드 5장, 피요르긴 카드 5장이 등장했다. 190개를 개봉했지만 똑같이 사이카, 피요르긴 카드 5장씩만 나타났다. 스마일게이트의 설명에 따르면 해당 사례는 시스템 구조상 14억분의 1 확률로 발생할 수 있는 버그 현상이라고 설명했다. 출처 : 게임톡(https://www.gametoc.co.kr) 이..
1. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/134240 2. 풀이 팰린드롬을 만드는 문제 칼로리 높은 것을 먼저먹기 때문에, 마지막 행렬의 index부터 처리하도록 한다. 매우 난이도가 낮은 문제다. 3. 코드 class Solution { public String solution(int[] food) { String answer = "0"; for(int i=food.length-1; i>=1;i--){ if(food[i] / 2 > 0) { String eatable = String.valueOf(i); for(int j =0; j
1. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/135808 2. 풀이 1. 우선순위 큐를 역순정렬되도록 정의 2. 우선순위 큐에 삽입한다. 반복문을 사용하긴 했지만, N번이기 때문에 별 문제는 없다. 3. while문을 통해 이익 계산식을 수행한다. - 역순 정렬을 했기 때문에, 한 상자에 들어가는 마지막 사과가 전체 가격을 결정한다. 4. 마지막 값만 관심이 있고 나머진 다 pop 처리 3. 코드 import java.util.Collections; import java.util.PriorityQueue; class Solution { public int solution(int k, int m, int[] score) { // 우선순위..
1. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/118666 2. 풀이 성격 유형의 갯수가 많지 않기 때문에 하드 코딩하고 풀면 쉽다. 그리고 성격 유형의 점수를 직관적으로 구분하기 위해 모르겠음을 0점으로 fix 해서 result 행렬에 성격 유형 점수의 통계를 구했다. 3. 코드 class Solution { public String solution(String[] survey, int[] choices) { String answer = ""; int[] score = new int[]{-3,-2,-1,0,1,2,3}; String[] type = new String[]{"RT","CF","JM","AN"}; String[] rever..
1. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/136798 2. 풀이 요약하면, number 까지의 모든 수의 약수를 구하고 limit과 비교하는 문제다. number의 최대가 10만이기 때문에, 일반적인 약수를 구하는 방법(이차원 for문과 나머지로 비교하는 공식으로 만든 방법)으로 구현하면 특정 테스트 케이스에서 timeout이 난다. 그래서 약수를 구하는 공식의 계산량을 줄이는 방법이 필요하다. 나는 아래와 같은 방식으로 구현했다. 1을 약수로 갖는 수에 count 추가 2를 약수로 갖는 수에 count 추가 3을 약수로 갖는 수에 count 추가 .... number를 약수로 갖는 수에 count 추가 이러면 number 이하의 ..
- Total
- Today
- Yesterday
- Log
- JWT
- CloudFront
- 후쿠오카
- 티스토리챌린지
- serverless
- 람다
- Spring
- AWS
- GIT
- Kotlin
- cache
- java
- elasticsearch
- S3
- EKS
- OpenFeign
- lambda
- OpenAI
- ChatGPT
- AWS EC2
- openAI API
- docker
- springboot
- Elastic cloud
- MySQL
- terraform
- 오블완
- AOP
- 스프링부트
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |