coding_test

[코딩테스트] 4. 프로그래머스 코딩테스트입문 (Day5, Day6) 코딩 기초 트레이닝 (Day1, Day2)

jeri 2024. 10. 18. 17:55
반응형

01) 배열자르기

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

 

프로그래머스

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

programmers.co.kr

import java.util.*;

class Solution {
    public int[] solution(int[] numbers, int num1, int num2) {
    	// => Arrays.copyOfRange(originalArray, from, to)  배열의 특정 구간을 복사하는 메서드
		// => originalArray: 복사할 원본 배열
		// => from: 복사를 시작할 인덱스(포함)
		// => to: 복사를 끝낼 인덱스(포함하지 않음)
        return Arrays.copyOfRange(numbers, num1, num2 + 1);
    }
}
def solution(numbers, num1, num2):
    return numbers[num1:num2+1]

 

 

 

 

02) 특정 문자 제거하기

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

 

프로그래머스

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

programmers.co.kr

 

class Solution {
    public String solution(String my_string, String letter) {
        return my_string.replace(letter, "");
    }
}
def solution(my_string, letter):
    return my_string.replace(letter,'')

 

 

 

 

03) 배열 뒤집기

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

 

프로그래머스

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

programmers.co.kr

class Solution {
    public int[] solution(int[] num_list) {
        int[] answer = new int[num_list.length];        
        for(int i=0; i<num_list.length; i++){
            answer[i] = num_list[num_list.length-i-1];
        }       
        return answer;
    }
}

 

 

 

 

 

04) 문자열 뒤집기

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

 

프로그래머스

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

programmers.co.kr

class Solution {
    public String solution(String my_string) {
        String answer = "";
        for(int i=my_string.length()-1; i>=0; i--){
            answer += my_string.charAt(i);
        }      
        return answer;
    }
}

 

 

 

 

 

 

05) 직각 삼각형 출력하기

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

 

프로그래머스

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

programmers.co.kr

나의 풀이

import java.util.Scanner;

public class Solution {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        
        
        for(int i=0; i<n; i++){
            for(int j=0; j<=i; j++){
                System.out.print("*");
            }
            System.out.println();
        }
    }
}

참신한 풀이 (다른 사람이 품)

import java.util.Scanner;

public class Solution {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();

        for(int i=1; i<=n; i++){
            System.out.println("*".repeat(i));
        }
    }
}

 

 

 

 

06) 짝수 홀수 갯수

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

 

프로그래머스

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

programmers.co.kr

나의 풀이

class Solution {
    public int[] solution(int[] num_list) {
        int[] answer = new int[2];

        int 짝수count = 0;
        int 홀수count = 0;
       
        for(int num : num_list){
            if(num%2==0) 짝수count++;
            else 홀수count++;
        }
               
        answer[0] = 짝수count;
        answer[1] = 홀수count;
        
        return answer;
    }
}

참신한 풀이 (다른 사람이 품)

class Solution {
    public int[] solution(int[] num_list) {
        int[] answer = new int[2];

        for(int i = 0; i < num_list.length; i++)
            answer[num_list[i] % 2]++;

        return answer;
    }
}

 

 

 

 

07) 문자 반복 출력하기

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

 

프로그래머스

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

programmers.co.kr

나의 풀이

class Solution {
    public String solution(String my_string, int n) {
        String answer = "";       
        for(int i=0; i<my_string.length(); i++){
            //answer += String.valueOf(my_string.charAt(i)).repeat(n);
            answer += (""+my_string.charAt(i)).repeat(n);
        } 
        return answer;
    }
}

참신한 풀이 (다른 사람이 품)

class Solution {
    public String solution(String my_string, int n) {
        StringBuilder sb = new StringBuilder();
        for(char c : my_string.toCharArray()){
            sb.append((c + "").repeat(n));
        }
        return sb.toString();
    }
}

 

 

 

 

08) 대소문자 바꿔서 출력하기

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

 

프로그래머스

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

programmers.co.kr

 

import java.util.Scanner;

public class Solution {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String a = sc.next();
        
        for(int i=0; i<a.length(); i++){
            if(Character.isUpperCase(a.charAt(i))) System.out.print(Character.toLowerCase(a.charAt(i)));
            else System.out.print(Character.toUpperCase(a.charAt(i)));
        }
    }
}

 

 

 

 

09) 문자열 겹쳐쓰기

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

 

프로그래머스

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

programmers.co.kr

 

class Solution {
    public String solution(String my_string, String overwrite_string, int s) {
        String answer = "";        
        int overwriteSize = overwrite_string.length();     
        answer = my_string.substring(0,s) + overwrite_string + my_string.substring(overwriteSize+s);      
        return answer;
    }
}
반응형