코딩테스트-알고리즘/도전

2024.01.08 - 18문제

닉네임생각즁 2024. 1. 8. 06:37

 

 

글자 지우기

https://school.programmers.co.kr/learn/courses/30/lessons/181900

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

import java.util.*;

class Solution {
    public String solution(String my_string, int[] indices) {
        String answer = "";
        List<Integer> list = new ArrayList<>();
        for(int i=0; i<my_string.length(); i++) {
            list.add(i);
        }
        
        Arrays.sort(indices);
        for(int i : indices) {
            list.remove(Integer.valueOf(i));
        }
        
        for(int i=0; i<list.size(); i++) {
            answer+=my_string.charAt(list.get(i));
        }
        
        
        return answer;
    }
}

 

 

A 강조하기

https://school.programmers.co.kr/learn/courses/30/lessons/181874

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

class Solution {
    public String solution(String myString) {
        String answer = "";
        
        String str = myString.toLowerCase();
        
        for(int i=0; i<myString.length(); i++) {
            if(str.charAt(i) == 'a'){
                answer += 'A';
            } else {
                answer += str.charAt(i);
            }
        }
        return answer;
    }
}

다른사람 풀이

myString = myString.replace('a', 'A');

그냥 이렇게 해주면 간단했다...!

 

 

날짜 비교하기

https://school.programmers.co.kr/learn/courses/30/lessons/181838

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

class Solution {
    public int solution(int[] date1, int[] date2) {
        int answer = 0;
        if(date1[0] == date2[0] && date1[1] == date2[1]) {
            if(date1[2] < date2[2]) answer = 1;
        } else if (date1[0] == date2[0]) {
            if(date1[1] < date2[1]) answer = 1;
        } else if (date1[0] < date2[0]) {
            answer = 1;
        }
        
        return answer;
    }
}

 

 

특별한 이차원 배열 2

https://school.programmers.co.kr/learn/courses/30/lessons/181831

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

class Solution {
    public int solution(int[][] arr) {
        int answer = 0;

        for(int i=0; i<arr.length; i++) {
            for(int j=0; j<arr[i].length; j++) {
                if(arr[i][j] == arr[j][i]) {
                    if(i == arr.length-1 && j == arr.length-1) answer = 1;
                    else continue;
                } else {
                    i = arr.length;
                    break;
                }
            }
        }
        
        return answer;
    }
}

 

 

접미사 배열

https://school.programmers.co.kr/learn/courses/30/lessons/181909

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

import java.util.*;

class Solution {
    public String[] solution(String my_string) {
        List<String> list = new ArrayList<>();
        for(int i=0; i<my_string.length(); i++) {
            list.add(my_string.substring(i,my_string.length()));
        }
        
        Collections.sort(list);
        
        String[] answer = new String[list.size()];
        for(int i=0; i<list.size(); i++) {
            answer[i] = list.get(i);
        }
        
        return answer;
    }
}

 

 

l로 만들기

https://school.programmers.co.kr/learn/courses/30/lessons/181834

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

class Solution {
    public String solution(String myString) {
        String answer = "";
        for(int i=0; i<myString.length(); i++) {
            if(myString.charAt(i) < 108) answer += "l";
            else answer += myString.charAt(i);
        }
        
        return answer;
    }
}

소문자 l 아스키코드 : 108

 

 

문자열 정수의 합

https://school.programmers.co.kr/learn/courses/30/lessons/181849

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

class Solution {
    public int solution(String num_str) {
        int answer = 0;
        String str[] = num_str.split("");
        
        for(String s : str) {
            answer += Integer.parseInt(s);
        }
        
        return answer;
    }
}

 

 

원하는 문자열 찾기

https://school.programmers.co.kr/learn/courses/30/lessons/181878

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

class Solution {
    public int solution(String myString, String pat) {
        int answer = 0;
        myString = myString.toLowerCase();
        pat = pat.toLowerCase();
        if(myString.contains(pat)) answer = 1;
        return answer;
    }
}

 

 

홀수 vs 짝수

https://school.programmers.co.kr/learn/courses/30/lessons/181887

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

class Solution {
    public int solution(int[] num_list) {
        int answer = 0;
        int n = 0; 
        int m = 0;
        
        for(int i = 0; i< num_list.length; i++) {
            if(i % 2 == 0) { 
                m += num_list[i];
            } else {
                n += num_list[i];
            }
        }
        
        if (n > m) answer = n;
        else if (n < m) answer = m;
        else answer = n;
        
        return answer;
    }
}

 

 

이차원 배열 대각선 순회하기

https://school.programmers.co.kr/learn/courses/30/lessons/181829

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

class Solution {
    public int solution(int[][] board, int k) {
        int answer = 0;
        for(int i=0; i<board.length; i++) {
            for(int j=0; j<board[0].length; j++) {
                if(i+j <= k) {
                    answer += board[i][j];
                }
            }
        }
        
        
        return answer;
    }
}

 

 

배열의 원소 삭제하기

https://school.programmers.co.kr/learn/courses/30/lessons/181844

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

import java.util.*;

class Solution {
    public int[] solution(int[] arr, int[] delete_list) {
        List<Integer> list = new ArrayList<>();
        
        for(int i=0; i<arr.length; i++) {
            for(int j=0; j<delete_list.length; j++) {
                if(arr[i] == delete_list[j]) break;
                else {
                    if(j==delete_list.length-1) list.add(arr[i]);
                    else continue;
                    
                }
            }
        }
        
        int[] answer = new int[list.size()];
        for(int i=0; i<list.size(); i++) {
            answer[i] = list.get(i);
        }
        
        return answer;
    }
}

 

 

가까운 1 찾기

https://school.programmers.co.kr/learn/courses/30/lessons/181898

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

class Solution {
    public int solution(int[] arr, int idx) {
        int answer = -1;
        for(int i=idx; i<arr.length; i++) {
            if(arr[i] == 1) {
                answer = i;
                break;
            }
        }
        
        
        return answer;
    }
}

 

 

배열에서 문자열 대소문자 변환하기

https://school.programmers.co.kr/learn/courses/30/lessons/181875

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

class Solution {
    public String[] solution(String[] strArr) {
        String[] answer = new String[strArr.length];
        for(int i=0; i<strArr.length; i++) {
            if(i%2 == 1) {
                answer[i] = strArr[i].toUpperCase();
            } else {
                answer[i] = strArr[i].toLowerCase();
            }
        }
        return answer;
    }
}

 

 

x 사이의 개수

https://school.programmers.co.kr/learn/courses/30/lessons/181867

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

class Solution {
    public int[] solution(String myString) {
        String[] str = myString.split("x", -1);
        int[] answer = new int[str.length];
        for(int i=0; i<str.length; i++) {
            answer[i] = str[i].length();
        }
        return answer;
    }
}

 

 

접미사인지 확인하기

https://school.programmers.co.kr/learn/courses/30/lessons/181908

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

import java.util.*;
class Solution {
    public int solution(String my_string, String is_suffix) {
        int answer = 0;
        List<String> list = new ArrayList<>();
        
        for(int i=0; i<my_string.length(); i++) {
            list.add(my_string.substring(i,my_string.length()));
        }
        
        if(list.contains(is_suffix)) answer = 1;    
        return answer;
    }
}

 

 

부분 문자열 이어 붙여 문자열 만들기

https://school.programmers.co.kr/learn/courses/30/lessons/181911

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

class Solution {
    public String solution(String[] my_strings, int[][] parts) {
        String answer = "";
        for(int i=0; i<my_strings.length; i++) {
            answer += my_strings[i].substring(parts[i][0], parts[i][1]+1);
        }
        return answer;
    }
}

 

 

할 일 목록

https://school.programmers.co.kr/learn/courses/30/lessons/181885

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

import java.util.*;

class Solution {
    public String[] solution(String[] todo_list, boolean[] finished) {
        List<String> list = new ArrayList<>();
        for(int i=0; i<finished.length; i++) {
            if(!finished[i]) list.add(todo_list[i]);           
        }
        
        String[] answer = new String[list.size()];
        for(int i=0; i<list.size(); i++) {
            answer[i] = list.get(i);
        }
        return answer;
    }
}

 

 

주사위 게임 1

https://school.programmers.co.kr/learn/courses/30/lessons/181839

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

class Solution {
    public int solution(int a, int b) {
        int answer = 0;
        if(a%2==1 && b%2==1) {
            answer = a*a + b*b;
        } else if(a%2==1 || b%2==1) {
            answer = 2 * (a+b);
        } else {
            answer = Math.abs(a-b);
        }
        
        return answer;
    }
}

 

'코딩테스트-알고리즘 > 도전' 카테고리의 다른 글

2024.01.10 - 1문제  (0) 2024.01.10
2024.01.09 - 9문제  (0) 2024.01.09
2024.01.07 - 10문제  (1) 2024.01.07
2024.01.06 - 4문제  (1) 2024.01.06
2024.01.05 - 5문제  (1) 2024.01.05