본문 바로가기

코딩테스트/JAVA

[JAVA] 프로그래머스 - 기초문제 Day11

https://school.programmers.co.kr/learn/challenges/training?order=acceptance_desc&languages=java

 

코딩 기초 트레이닝 | 프로그래머스 스쿨

프로그래밍 언어를 처음 접하거나 프로그래밍 언어에 익숙해지고 싶다면? 코딩 역량을 탄탄하게 길러주는 코딩 기초 트레이닝으로 차근차근 코딩에 대한 기초 감각을 길러 보세요.

school.programmers.co.kr

 

Day 11 - 리스트(배열)

  • 문자 개수 세기
class Solution {
    public int[] solution(String my_string) {
        int[] answer = new int[52];
        
        for(int i=0;i<my_string.length();i++){
            answer[Character.isUpperCase(my_string.charAt(i))?my_string.charAt(i)-'A':my_string.charAt(i)-'a'+26]+=1;
        }
        
        return answer;
    }
}

 

 

  • 배열 만들기 1
class Solution {
    public int[] solution(int n, int k) {
        int[] s = new int[n/k];
        for(int i=0;i<n/k;i++){
            s[i] = (i+1)*k;
        }
        return s;
    }
}

 

 

  • 글자 지우기
class Solution {
    public String solution(String my_string, int[] indices) {
        
        char[] c = my_string.toCharArray();
        
        for(int i:indices){
            c[i] = ' ';
        }
        
    
        return String.valueOf(c).replaceAll(" ","");
    }
}

 

 

  • 카운트 다운
import java.util.stream.IntStream;
class Solution {
    public int[] solution(int start, int end_num) {
        int[] a = new int[start-end_num+1];
        for(int i=0;i<start-end_num+1;i++){
            a[i] = start-i;
        }
        return a;
    }
}
 

 

  • 가까운 1 찾기
class Solution {
    public int solution(int[] arr, int idx) {

        for(int i=0;i<arr.length;i++){
            if(i==0 && arr.length>idx) i=idx;
            if(arr[i]==1) return i;
        }
        
        return -1;
    }
}