매일 Algorithm

신재원·2023년 3월 8일
0

Algorithm

목록 보기
59/243

프로그래머스 (LEVEL 1)

class Solution {
    public String solution(String s) {
        String answer = "";
        
        int count = 0 ;
        for(int i = 0;  i < s.length(); i++){
            char ch = s.charAt(i);  
            // 공백 체크
            if(ch == ' '){
                // 공백 추가
                answer+=" ";
                
                // 공백을 기준으로 짝수 홀수 인덱스를 판단함으로
                count = 0;
                continue;
            }
            if(count % 2 == 0){
                answer += String.valueOf(Character.toUpperCase(ch));
                count++;
            }else{
                answer += String.valueOf(Character.toLowerCase(ch));
                count++;
            }
        }
           
        return answer;
    }
}

프로그래머스 (LEVEL 1)

class Solution {
    public int solution(int[] number) {
        // 3명의 학생의 번호를 더했을때 0 이면 삼총사

        int answer = 0;

        // 3중 for문을 사용해 number 배열을 순회한다.
        for (int i = 0; i < number.length; i++) {
            for (int j = i + 1; j < number.length; j++) {
                for (int k = j + 1; k < number.length; k++) {
                    int total = number[i] + number[j] + number[k];
                    if (total == 0) {
                        answer++;
                    }
                }
            }
        }
        return answer;
    }
}

프로그래머스 (LEVEL 1)

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

class Solution {
    public String[] solution(String[] strings, int n) {
        Arrays.sort(strings);
        String[] answer = new String[strings.length];
        List<String> temp = new ArrayList<>();
        for (int i = 0; i < strings.length; i++) {
            // 입력된 인덱스의 n번째 데이터값을 담아준다.
            answer[i] = strings[i].substring(n, n + 1);
        }
        // n번째의 인덱스의 글자를 기준으로 오름차순 정렬
        Arrays.sort(answer);

        for (int j = 0; j < strings.length; j++) {
            temp.add(strings[j]);
        }
        // a e u
        for (int k = 0; k < strings.length; k++) {
            for (int p = 0; p < temp.size(); p++) {
                // temp 리스트에 담겨져있는 String이랑 비교한다.
                if (temp.get(p).substring(n, n + 1).equals(answer[k])) {
                    answer[k] = temp.get(p);
                    
                    /*
                    strings의 문자열은 다른데 추출한 
                     인덱스 n번째의 글자가 같을경우 제거해준다.
                     */
                    temp.remove(p);
                }
            }
        }
        return answer;
    }
}

프로그래머스 (LEVEL 1)

class Solution {
    public int solution(int a, int b, int n) {
        int answer = 0;
        
        while(true){
            // 가지고 있는 병의 수가 a보다 낮으면 break
            if(a > n ){
                break;
            }
            answer += (n / a) * b;
            int stock = n % a;
            n = (n / a) * b + stock;
            
            
        }
        return answer;
    }
}

0개의 댓글