[프로그래머스] Level3 - 불량 사용자
> 문제
문제 : [불량 사용자]
> 문제 풀이
완전탐색으로 풀었으며, hashSet을 사용하여 중복제거를 해주었다.
import java.util.*;
class Solution {
static Set<String> set;
public int solution(String[] user_id, String[] banned_id) {
set = new HashSet<>();
rec(0, user_id, banned_id, new boolean[user_id.length]);
return set.siz...
[프로그래머스] Level3 - 방문 길이
> 문제
문제 : [방문 길이]
> 문제풀이
이동했던 길은 좌표이동하면서 현재좌표와 다음좌표를 혼합하여 Set에 저장하는 방식으로 풀이 하였다.
import java.util.*;
class Solution {
static boolean check(int x, int y){
if(x>=0 && y>=0 && x<11 && y<11){
return true;
}else return false;
}
public int solution(S...
[프로그래머스] Level2 - 큰 수 만들기
> 문제
문제 : [큰 수 만들기]
문제풀이
큰 자리수의 값을 최댓값으로 만들면 된다.
지울 수 있는 값 K의 갯수만큼 탐색하여 최댓값을 찾아 나머지 값을 지워나갔다.
“4177252841”, k=4 를 예시로, index 0~4 (K+1) 까지 탐색하여 최댓값을 찾는다.
여기서 index 4 까지 탐색하는 이유는, 최댓값 이전의 값을 지우기 때문이다.
풀이에서는 최댓값을 StringBuilder에 추가하고 이전의 갯수를 K값에서 줄여나갔다.
4 1 7 7 2 ( K=4 ) max 7, K = 4 - 2
7 2 5 ( K = 2 ) max 7, K ...
[프로그래머스] Level3 - 여행 경로
> 문제
문제 : [여행 경로]
> 문제풀이
문제 조건을 잘 보아야 한다.
주어진 티켓(항공권)을 모두 소진 해야하는 조건을 염두해두고 풀었다.
탐색은 DFS 활용.
모두 탐색했을 때, 경로가 2개 이상이라면 알파벳 순서가 앞서는 경로를 Return 해야한다. ( TreeSet 사용 )
소스는 다음과 같다.
import java.util.*;
class Solution {
static Map<String, Map<String, Integer>> routes;
static public String[] solution(St...
[프로그래머스] Level2 - 소수찾기
> 문제
문제 : [큰 수 만들기]
문제풀이
조합 완탐 문제.
완탐으로 도출되는 각 값에서 소수검사를 해주었고, 중복되는 값은 HashSet으로 처리하였다
import java.util.*;
class Solution {
static char[] numbersToChar;
static boolean[] visit;
static List<Character> list;
static Set<Integer> set;
static boolean check(){
StringBuilder sb = new Strin...
[프로그래머스] Level3 - 베스트앨범
> 문제
문제 : [베스트앨범]
> 문제풀이
해시맵 정렬하여 사용하였다.
문제를 이해하면 어렵지 않은 문제다.
한 장르에 두개 이상의 노래가 있다면 재생된 수가 큰 순으로 선택하고, 노래가 하나있다면 하나만 선택한다.
import java.util.*;
class Solution {
static class Music implements Comparable<Music>{
int index, plays;
Music(int index, int plays){
this.index = index;
...
[알고리즘] 소수 만들기 시간복잡도 in Java
일반적인 방법과 에라토스테네스의 체, 비트연산자를 활용한 소수 만드는 알고리즘의 시간복잡도를 비교하고자 한다.
Last_Number = (10,000 ~ 1억) 을 대상으로 각 알고리즘 시간복잡도를 비교하였다.
구현 방법
일반적인 방법
가장 일반적인 방법이다.
제곱근까지의 숫자와 나눈 나머지 값이 0이라면 소수가 아니다.
for(int i=2; i<=LAST_NUM; i++) {
boolean prime = true;
for(int j=2; j*j<=i; j++) {
if(i % j == 0) {
prime = false;
break;
}
}
if(...
[SpringBoot] 자동 리로드 ( Livereload, Auto Reload )
자동 리로드 ( Auto Reload )
다음과 같이 디펜던시를 추가한다.
dependency
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
Eclipse 인경우 Project - Build Automatically 체크한다.
저장할 때, java파일이 class파일로 자동저...
103 post articles, 13 pages.