일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Git
- Java
- IntelliJ
- 스프링
- 넥사크로
- Spring
- error
- Eclipse
- mybatis
- 쿼리
- 프로그래머스
- 알고리즘
- Vue
- 오라클
- kotlin
- jquery
- 자바
- 함수
- GitHub
- Security
- db
- 시큐리티
- JPA
- 코틀린
- 방법
- oracle
- aws
- 생성
- 에러
- JavaScript
- Today
- Total
목록알고리즘 (72)
송민준의 개발노트
https://programmers.co.kr/learn/courses/30/lessons/12973 코딩테스트 연습 - 짝지어 제거하기 짝지어 제거하기는, 알파벳 소문자로 이루어진 문자열을 가지고 시작합니다. 먼저 문자열에서 같은 알파벳이 2개 붙어 있는 짝을 찾습니다. 그다음, 그 둘을 제거한 뒤, 앞뒤로 문자열을 이어 붙 programmers.co.kr 주어진 문자열에서 2개 쌍이 되는 문자를 전부 제거하는 문제이다. 처음에 StringBuilder를 이용해서 특정 인덱스를 뽑아내는 방식으로 했었는데 효율성에서 통과를 못했다. 그래서 Stack이라는 자료구조를 이용해서 좀 더 개선했다. 문자를 하나씩 넣어서 비교를 하고 제거해가는 방식이다! public int solution(String s) { ..
https://programmers.co.kr/learn/courses/30/lessons/1835 코딩테스트 연습 - 단체사진 찍기 단체사진 찍기 가을을 맞아 카카오프렌즈는 단체로 소풍을 떠났다. 즐거운 시간을 보내고 마지막에 단체사진을 찍기 위해 카메라 앞에 일렬로 나란히 섰다. 그런데 각자가 원하는 배치가 모두 programmers.co.kr 모든 경우의 수를 체크해야 하는 문제. 결론은 dfs로 접근해서 풀면 된다. 잠깐 for문 8번 중첩할까도 생각했다.... 풀고 다른 사람풀이 보니 진짜 실행한 사람이 있다...ㅋㅋ class Solution { private String[] friends = {"A", "C", "F", "J", "M", "N", "R", "T"}; private int an..
https://programmers.co.kr/learn/courses/30/lessons/12977?language=java 코딩테스트 연습 - 소수 만들기 주어진 숫자 중 3개의 수를 더했을 때 소수가 되는 경우의 개수를 구하려고 합니다. 숫자들이 들어있는 배열 nums가 매개변수로 주어질 때, nums에 있는 숫자들 중 서로 다른 3개를 골라 더했을 때 programmers.co.kr 소수 알고리즘을 활용해서 계산하는 문제. 약수의 성질을 이용해서 2부터 주어진 수의 제곱근까지 확인만 하면 된다.(성능 개선) 약수의 성질? - 모든 약수는 가운데 약수를 기준으로 곱셈 연산에 대해 대칭적인 구조 - ex) 16의 약수는 1, 2, 4, 8, 16 => 1 x 16, 2 x 8, 4 x 4 - 그러므로..
https://programmers.co.kr/learn/courses/30/lessons/1829 코딩테스트 연습 - 카카오프렌즈 컬러링북 6 4 [[1, 1, 1, 0], [1, 2, 2, 0], [1, 0, 0, 1], [0, 0, 0, 1], [0, 0, 0, 3], [0, 0, 0, 3]] [4, 5] programmers.co.kr DFS 를 활용해서 풀었다. (bfs로 접근해도 된다) 프로그래머스 버그인지는 모르겠는데 1. 파라미터로 주어진 2차원 배열 값을 조작하면 테스트케이스 통과 안됨 2. 전역변수 초기화를 바로하면 테스트케이스 통과 안됨 이러한 증상이 있어서 다소 불필요한 코드들이 들어갔다;; public class 카카오프렌즈_컬러링북 { static int[][] dirs; pub..
https://programmers.co.kr/learn/courses/30/lessons/42888?language=java 코딩테스트 연습 - 오픈채팅방 오픈채팅방 카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있는데, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있다. 신입사원인 김크루는 카카오톡 오 programmers.co.kr import java.util.ArrayList; import java.util.List; import java.util.HashMap; import java.util.Map; class Solution { public String[] solution(String[] record) { // 아이디와 닉네임을 보관하는 user Map us..
https://programmers.co.kr/learn/courses/30/lessons/42626?language=java 코딩테스트 연습 - 더 맵게 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같 programmers.co.kr 힙을 활용한 문제 접근 필요 우선순위 큐 사용하였음. public int solution(int[] scoville, int K) { int returnValue = 0; // 우선순위 큐 선언 Queue queue = new PriorityQueue(); // int 형태를 Integer로 전환(람다를 만약 쓴다면...) ..
https://programmers.co.kr/learn/courses/30/lessons/76501?language=java 코딩테스트 연습 - 음양 더하기 어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 re programmers.co.kr class Solution { public int solution(int[] absolutes, boolean[] signs) { int result = 0; for(int i = 0; i < absolutes.length; i++) { result += absolutes[i] * (signs[i] ? 1 : -1..
https://programmers.co.kr/learn/courses/30/lessons/86051?language=java 코딩테스트 연습 - 없는 숫자 더하기 0부터 9까지의 숫자 중 일부가 들어있는 정수 배열 numbers가 매개변수로 주어집니다. numbers에서 찾을 수 없는 0부터 9까지의 숫자를 모두 찾아 더한 수를 return 하도록 solution 함수를 완성해주세요. programmers.co.kr 주어진 숫자를 배열의 인덱스로 취급하고 해당 값을 1씩 증가시켰다. class Solution { public int solution(int[] numbers) { int answer = 0; int[] counts = new int[]{0, 0, 0, 0, 0, 0, 0, 0, 0, 0}..