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

2023.12.20 - 12문제

닉네임생각즁 2023. 12. 20. 21:00

문자열 출력하기

https://school.programmers.co.kr/learn/courses/30/lessons/181952?language=java

 

프로그래머스

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

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();
        System.out.println(a);
    }
}

 

 

a와 b 출력하기

https://school.programmers.co.kr/learn/courses/30/lessons/181951?language=java

 

프로그래머스

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

programmers.co.kr

import java.util.Scanner;

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

        System.out.println("a = "+a);
        System.out.println("b = "+b);
    }
}

 

 

 

문자열 반복해서 출력하기

https://school.programmers.co.kr/learn/courses/30/lessons/181950?language=java

 

프로그래머스

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

programmers.co.kr

import java.util.Scanner;

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

 

다른 사람 풀이

System.out.println(str.repeat(n));

 

이게 있었다

찾아보니까 자바11에서 새로 추가된 Sting 메서드라고 한다 완전 간단하게 푸는 방법이 있다니 짱좋음

 

 

대소문자 바꿔서 출력하기

https://school.programmers.co.kr/learn/courses/30/lessons/181949?language=java

 

프로그래머스

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

programmers.co.kr

  1.  
import java.util.Scanner;

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

 

문자일때랑 문자열일때랑 써야되는게 달라서 머리아픔,, 역시 자유롭게 쓰는 파이썬이 짱이다

문자일때는!! Character.is~(char); Character.to~(char);

문자열일때는!! str.to~();

 

 

특수문자 출력하기

https://school.programmers.co.kr/learn/courses/30/lessons/181948?language=java

 

프로그래머스

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

programmers.co.kr

import java.util.Scanner;

public class Solution {
    public static void main(String[] args) {
        
        System.out.println("!@#$%^&*(\\'\"<>?:;"); 
    }
}

 

 

덧셈식 출력하기

https://school.programmers.co.kr/learn/courses/30/lessons/181947?language=java

 

프로그래머스

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

programmers.co.kr

import java.util.Scanner;

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

        System.out.println(a + " + " + b + " = "+ answer);
    }
}

 

다른 사람 풀이

System.out.printf("%d + %d = %d",a,b,c);

 

맞다,,,이런게 있었음 다 까먹었다ㅏㅏㅏㅏㅏㅏㅏㅏ

 

 

문자열 붙여서 출력하기

https://school.programmers.co.kr/learn/courses/30/lessons/181946?language=java

 

프로그래머스

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

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();
        String b = sc.next();
        
        System.out.print(a+b);
    }
}

 

 

문자열 돌리기

https://school.programmers.co.kr/learn/courses/30/lessons/181945?language=java

 

프로그래머스

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

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();
        
        char[] charArray = a.toCharArray();
        
        for(int i=0; i<charArray.length; i++) {
            System.out.println(charArray[i]);
        }
    }
}

 

 

 

 

홀짝 구분하기

https://school.programmers.co.kr/learn/courses/30/lessons/181944?language=java

 

프로그래머스

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

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();
        
        if(n % 2 == 0) {
            System.out.println(n+" is even");
        } else {
            System.out.println(n+" is odd");
        }
    }
}

 

다른 사람 풀이

System.out.print(n + " is "+(n % 2 == 0 ? "even" : "odd"));

삼항 연산자를 이용하면 더 간단해진다!!

 

 

 

문자열 겹쳐쓰기

https://school.programmers.co.kr/learn/courses/30/lessons/181943?language=java

 

프로그래머스

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

programmers.co.kr

class Solution {
    public String solution(String my_string, String overwrite_string, int s) {
        String answer = "";
        String a, b, c;
        
        a = my_string.substring(0,s);
        b = overwrite_string;
        
        if (my_string.length() > a.length() + b.length()) {
            c = my_string.substring(a.length() + b.length());
            answer = a + b + c;
        } else {
            answer = a + b;
        }
        
        return answer;
    }
}

 

문자열 길이 - length() / 배열 길이 - length

걍 똑같이 쓰면 안되냐고,,,,ㅠㅠㅠㅠㅠㅠㅠ넘 헷갈랴

 

 

문자열 섞기

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

 

프로그래머스

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

programmers.co.kr

class Solution {
    public String solution(String str1, String str2) {
        String answer = "";
        
        char[] charArray1 = str1.toCharArray();
        char[] charArray2 = str2.toCharArray();
        
        for(int i=0; i<str1.length(); i++){
            answer += String.valueOf(charArray1[i]) + charArray2[i];
        }
        
        return answer;
    }
}

"" + charAt() => 문자열 + str2.charAt() => 문자열

 

 

flag에 따라 다른 값 반환하기

https://school.programmers.co.kr/learn/courses/30/lessons/181933?language=java

 

프로그래머스

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

programmers.co.kr

class Solution {
    public int solution(int a, int b, boolean flag) {
        int answer = 0;
        
        answer = (flag == true ? a+b : a-b);
        return answer;
    }
}

원래라면 if문을 썼을거같은데 아까 삼항연산자를 봐서 이용해보았다 훨씬 간단하고 좋군👍

 

다른 사람 풀이

return flag ? a + b : a - b;

true 안써줘도 됐구나..! 또 배웠다

 

 

 

 

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

2023.12.25 - 6문제  (0) 2023.12.25
2023.12.24 - 4문제  (0) 2023.12.24
2023.12.23 - 9문제  (1) 2023.12.23
2023.12.21 - 10문제  (0) 2023.12.21
12월 31일까지 도전  (0) 2023.12.20