프로그래머스3일차

지선·2023년 4월 29일

코딩테스트

목록 보기
2/8

피자 나눠 먹기 (2)

class Solution {
    public int solution(int n) {
        int answer = 0;
        //6과 n의 최소공배수 찾고, 그 수를 6으로 나눈 값이 answer

        for(int i=1;;i++){
            if((i%6==0)&&(i/6>0)&&(i%n==0)&&(i/n>0)){
                 answer=i;
                 break;   
            }
        }
        answer=answer/6;
        return answer;
    }
}

옷가게 할인 받기

class Solution {
    public int solution(int price) {
        int answer = 0;
        //if문으로 조건식 써서 코드 작성하기! 
        if(price<100000){
            answer=price;
        }
        //double형으로 price를 강제 변환 후 소수를 곱한 수를 다시 int형으로 강제 변환해주기
        else if((price>=100000)&&(price<300000)){
             answer=(int)((double)price*0.95);
        }
        else if((price>=300000)&&(price<500000)){
             answer=(int)((double)price*0.9);
        }
        else{
             answer=(int)((double)price*0.8);
        }
        return answer;
    }
}

모음제거

class Solution {
    public String solution(String my_string) {
        String answer = "";
        //어제도 써준 replaveAll을 통해 모음을 공백으로 처리해주기
        my_string=my_string.replaceAll("a", "");
        my_string=my_string.replaceAll("e", "");
        my_string=my_string.replaceAll("i", "");
        my_string=my_string.replaceAll("o", "");
        my_string=my_string.replaceAll("u", "");
        
        answer=my_string;
        return answer;
    }
}

삼각형의 완성조건(1)

class Solution {
    public int solution(int[] sides) {
        int answer = 0;
        //원소 3개중 max값 구하고, 그 값에 해당하는 index찾기
        int max=0,max_index=0;
        for(int i=0;i<3;i++){
            if(max<sides[i]){
                max=sides[i];
                max_index=i;
            }
        }
        //max의 index를 제외하고 더해주기(짧은 변 2개 더해주기)
        int sum=0;
        for(int i=0;i<3;i++){
            if(max_index==i){
                continue;
            }
            sum+=sides[i];
        }
        //두 값을 비교해서 1,2 적절하게 넣기
        if(sum>sides[max_index]){
            answer=1;
        }
        else{
            answer=2;
        }
        
        return answer;
    }
}

문자 반복 출력하기

class Solution {
    public String solution(String my_string, int n) {
        String answer = "";
        //substring 이용하여 i번째 문자 추출해서 n번만큼 반복하게끔!
        for(int i=0;i<my_string.length();i++){
            for(int j=0;j<n;j++){
                answer+=my_string.substring(i,i+1);   
            }
        }
        
        return answer;
    }
}

+글고 자바 문자열 관련된 것들 정리해서 사용법 올리겠어요

배열의 유사도

class Solution {
    public int solution(String[] s1, String[] s2) {
        int answer = 0;
        //java에서 문자를 비교할 때는 ==쓰면 안된다는거 꼭 기억
        //.equals를 통해 비교 가능
        for(int i=0;i<s1.length;i++){
            for(int j=0;j<s2.length;j++){
                if(s1[i].equals(s2[j])){
                    answer++;
                }
            }
        }
        return answer;
    }
}

자릿수 더하기

class Solution {
    public int solution(int n) {
        int answer = 0;
        //n을 나눈 나머지를 answer에 더해주고 n을 10씩 나눠서 무한루프 진행, n이 0이라면 break
        while(true){
            if(n==0){
                break;
            }
            answer+=n%10;
            n/=10;
        }
        return answer;
    }
}

오늘은 정말 짧지만.. 여기까지 하도록 하겠습니다.

저는 사실 지금 풀고 있는 문제들은 하루에 4문제 이상을 목표로 하고 있어요 !
1,2일차에는 시간이 좀 있어서 더 많이 풀었는데, 다시 과제에 치이기 시작했답니다..
평범한 날에 문제는 4~5개정도로 진행하고, 시간이 있는 날은 더 풀도록 하고, 시험 기간에는 조금 쉬어가는 형식으로 진행하겠습니다.

세상의 모든 입문자들 화이팅해요 💚💛

profile
긍정왕되기

0개의 댓글