일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 투포인터알고리즘
- MySQL
- 버블정렬
- vm인스턴스생성
- 백준 11659
- java
- Spring MVC 동작원리
- 성능테스트툴
- 인텔리제이
- 클라우드에서 도커 실행하기
- 재귀함수
- OOP
- 싱글톤패턴
- 재귀와반복문
- 코딩테스트
- Spring MVC 구성요소
- 11659
- 구간합구하기
- 프로그래머스
- 백준
- Array.asList
- 알고리즘
- GCP
- Spring Web MVC
- 코드스테이츠
- String.valueOf()
- 자바
- 코드스테이츠 백엔드
- List.of
- 스택
- Today
- Total
목록Problem Solving (149)
순간을 기록으로
문제 https://programmers.co.kr/learn/courses/30/lessons/42862 코딩테스트 연습 - 체육복 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번 programmers.co.kr 주의할 점 체육복이 없다면 앞 뒤에 사람한테 체육복을 빌려야 한다. 하지만 예외적으로 1번인 사람은 앞의 사람이 없고 마지막 사람은 뒤에 사람이 없다. 그러므로 배열에 접근할 때 주의해야한다. 그렇지 않으면 에러가 발생한다. 원래는 boolean[] 형으로 체육복이 있는 사람과 없는 사람으로 분류했지만 int[]로 변경해서 -1이면 없는 상태, 0이면 있는 ..
문제 https://programmers.co.kr/learn/courses/30/lessons/12977# 코딩테스트 연습 - 소수 만들기 주어진 숫자 중 3개의 수를 더했을 때 소수가 되는 경우의 개수를 구하려고 합니다. 숫자들이 들어있는 배열 nums가 매개변수로 주어질 때, nums에 있는 숫자들 중 서로 다른 3개를 골라 더했을 때 programmers.co.kr 주의할 점 소수란. 1과 자기 자신으로만 나누어 질 수 있는 자연수이다. 예를들어 7은 1과 7로만 나눠질 수 있다.(= 1과 7로 나눴을 때 나머지가 0이다, 2, 3, 4, 5, 6으로는 나눠질 수 없다.) 그럼 자연수 N(N>=3)이라고 했을 때 N이 소수인지 판별하려면 2부터 N-1까지 모든 자연수를 확인해야 할까? 아니다. 절..
문제 https://programmers.co.kr/learn/courses/30/lessons/86051 코딩테스트 연습 - 없는 숫자 더하기 0부터 9까지의 숫자 중 일부가 들어있는 배열 numbers가 매개변수로 주어집니다. numbers에서 찾을 수 없는 0부터 9까지의 숫자를 모두 찾아 더한 수를 return 하도록 solution 함수를 완성해주세요. 제한 programmers.co.kr 주의할 점 없는 숫자들의 합을 구하는 문제. 없는 숫자를 직접 찾기 보다는 0~9까지의 합을 구한다음에 있는 배열에 있는 숫자들을 빼주면 없는 숫자들의 합이 나온다. 코드 package 프로그래머스.레벨1.없는숫자더하기; /* * 0~9중 없는 숫자를 더한 값을 리턴 = 0~9를 합을 구하고 있는 숫자를 모두..
문제 https://programmers.co.kr/learn/courses/30/lessons/67256 코딩테스트 연습 - 키패드 누르기 [1, 3, 4, 5, 8, 2, 1, 4, 5, 9, 5] "right" "LRLLLRLLRRL" [7, 0, 8, 2, 8, 3, 1, 5, 7, 6, 2] "left" "LRLLRRLLLRR" [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] "right" "LLRLLRLLRL" programmers.co.kr 주의할 점 거리값을 구하기 위해서는 키패드의 위치를 2차원 배열과 인덱스를 사용해야된다. 그리고 키패드가 0일 때 처리해주는 것도 필요하다. 코드 public class Solution { public String solution(int[] num..
문제 Queue 자료구조의 특성을 이용하여 문제를 풀 수 있다. 주의할 점 기본적인 큐 문제다. 코드 package 인프런.재귀와트리와그래프.공주구하기.방법1; import java.util.LinkedList; import java.util.Queue; import java.util.Scanner; public class Main { public int solution(int n, int k) { int answer=0; Queue q = new LinkedList(); // 큐 선언 for (int i=1; i
문제 우선 연속된 원소와 관련된 문제라서 투포인터와 슬라이딩을 문제임을 알 수 있다. 더하는 자연수의 갯수가 변할 수 있으므로 투포인터 알고리즘을 이용해서 푸는 문제이다. 주의할점 다른 문제와 다르게 배열이 주어지지 않았다. 따라서 배열을 선언해야되는데 길이를 정해야 한다. 예를들어 N=15라 가정한다. 그럼 첫 원소값이 7이면 7+8로 가능한 경우가 있지만 8이 되면 가능한 경우가 사라지게 된다. 따라서 배열의 길이는 N/2+1로 설정해야한다. 그리고 투포인터 알고리즘은 구조적으로 패턴이 정해져 있다. 따라서 패턴을 기억하도록 하자. 코드 package 인프런.투포인터와슬라이딩윈도우.연속된자연수합.방법2; import java.util.Scanner; /* * 연속 --> 투포인터 or 슬라이딩 -->..
문제 https://programmers.co.kr/learn/courses/30/lessons/72410 코딩테스트 연습 - 신규 아이디 추천 카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로 programmers.co.kr 문자열 문제. 그 중에서도 정규식을 사용할 줄 아는지에 관한 문제다. 풀이 String은 str.replace()와 str.replaceAll()을 제공한다. replace()는 문자열 이용하여 문자열을 수정할 수 있다. 반면에 replaceAll()은 정규식을 이용해서 문자열을 수정할 수 있다. 정규식을 다양한 상황에서 문자열을 치환할 수 있다. ..
문제 풀이 괄호가 등장하는 걸로보아 Stack을 이용한 문제로 예상하고 문제를 이해하면 stack을 사용하는게 확실해 진다. stack의 괄호문제는 대부분 닫는 괄호 ')'일 때 액션을 취해주면 된다. 여기서는 ')'일 때 액션을 2가지로 나눌 수 있다. 첫 번째로 ')' 바로 앞이 '('이 나왔다면 레이저를 의미하므로 stack에 넣었던 것을 pop해주고 갯수를 더해준다. 두 번째로 ')'는 막대기 끝 부분이므로 스택에 쌓인 막대기 하나를 제거하고 갯수를 1더해주면 된다. 코드 import java.util.Scanner; import java.util.Stack; public class Main { public int solution(String str) { int answer = 0; Stack s..