일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- JPA
- db
- Security
- Java
- 알고리즘
- kotlin
- aws
- 스프링
- mybatis
- JavaScript
- 시큐리티
- Eclipse
- 쿼리
- 방법
- 자바
- 함수
- GitHub
- 에러
- Git
- 코틀린
- IntelliJ
- 프로그래머스
- 오라클
- oracle
- 넥사크로
- jquery
- 생성
- error
- Vue
- Spring
- Today
- Total
목록알고리즘 (26)
송민준의 개발노트
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/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/72410?language=javascript 코딩테스트 연습 - 신규 아이디 추천 카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로 programmers.co.kr 해당 조건에 만족하는 경우 1단계 new_id의 모든 대문자를 대응되는 소문자로 치환합니다. 2단계 new_id에서 알파벳 소문자, 숫자, 빼기(-), 밑줄(_), 마침표(.)를 제외한 모든 문자를 제거합니다. 3단계 new_id에서 마침표(.)가 2번 이상 연속된 부분을 하나의 마침표(.)로 치환합니다. 4단계 new..
https://programmers.co.kr/learn/courses/30/lessons/77484 코딩테스트 연습 - 로또의 최고 순위와 최저 순위 로또 6/45(이하 '로또'로 표기)는 1부터 45까지의 숫자 중 6개를 찍어서 맞히는 대표적인 복권입니다. 아래는 로또의 순위를 정하는 방식입니다. 1 순위 당첨 내용 1 6개 번호가 모두 일치 2 5개 번호 programmers.co.kr 알고리즘 열심히 하던 시절이 있었는데... 다시 스타트를 해볼까 합니다...^^ 로또 관련 알고리즘이네요. 알 수 없는 번호를 기준으로 최대 순위와 최소 순위를 구하는 문제입니다. 필요한 데이터와 순위 규칙만 빠르게 파악한다면 쉽게 풀 수 있는 것 같습니다. class Solution { public int[] so..
programmers.co.kr/learn/courses/30/lessons/42746 코딩테스트 연습 - 가장 큰 수 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 programmers.co.kr 문제가 쉬운 것 같으면서도 조금 헷갈림 규칙을 찾아내서 정렬 후 합쳐서 리턴. 마지막 11번 케이스가 실패해서 뭔가 봤더니 [0, 0, 0, 0, 0]으로 들어온 경우임. 마지막에 리턴 시에 해당케이스 체크함. /** * 프로그래머스 lv2 * 가장 큰 수 * 1. 배열의 값을 string으로 변환 후 * 2. ..