2023.04.15.SAT

ronglong·2023년 4월 15일
0

[ 프로그래머스 ]

  • 나머지가 1이 되는 수 찾기
class Solution {
    public int solution(int n) {
        int x = 1;
        while(true){
            if(n%x==1) return x;
            x++;
        }
    }
}
  • 문자열 내 p와 y의 개수
    : 마지막에 삼항연산자 안 써도 ture,false 출력됨.
    다른 사람의 풀이의 경우, s.chars() 스트림 이용한 풀이랑, 바로 replaceAll만 사용해서 길이 비교해서 푼 풀이가 인상적이었음.
class Solution {
    boolean solution(String s) {
        s = s.toUpperCase();

        if(!s.contains("P") && !s.contains("Y")) return true;

        String p = s.replaceAll("Y", "");
        String y = s.replaceAll("P", "");

        return p.length()==y.length()? true : false;
    }
}
  • 자연수 뒤집어 배열로 만들기
    : 다른 사람들 풀이 보니까, StringBuilder를 많이 사용하는 것 같다.
    처음에 까먹고 char -> int 변환 안 해서 테스트 통과 못 함ㅎ
class Solution {
    public int[] solution(long n) {
        String s = String.valueOf(n);

        int[] result = new int[s.length()];

        for(int i=0; i<s.length(); i++){
            result[result.length-i-1]=s.charAt(i)-'0';
        }
        return result;
    }
}
  • 정수 제곱근 판별
    : 노가다의 정석 조영롱,, ^^
    다른 사람들 풀이 보니까 대부분 Math 함수를 이용했다.
    함수 정리 좀 해놔야할 것 같다.
class Solution {
    public long solution(long n) {
        long num = 1;
        while(num<=n){
            if(num * num == n) return (num+1)*(num+1);
            num++;
        }
        return -1;
    }
}
  • 문자열을 정수로 바꾸기
    : 처음에 풀고 테스트를 통과하긴 했는데, 로직을 다시 보니 + 부호로 시작되는 경우를 빼먹을 것 같아서 밑의 로직으로 다시 바꿨다.
    그리고 다른 사람 로직 보니까, Integer.parseInt() 메서드 쓰면 부호까지 알아서 다 변환됨^^ ㅋㅋㅋㅋㅋ 뭐하러 저렇게 풀었냐~
class Solution {
    public int solution(String s) {
        if(s.equals("0")) return 0;
        if(s.charAt(0)=='-') return 0-Integer.parseInt(s.substring(1));
        return Integer.parseInt(s);
    }
}
class Solution {
    public int solution(String s) {
        if(s.charAt(0)=='-') return 0-Integer.parseInt(s.substring(1));
        if(s.charAt(0)=='+') return Integer.parseInt(s.substring(1));
        return Integer.parseInt(s);
    }
}

[ 느낀 점 ]

슬슬,, 어려운 문제도 풀어야지,,
다음주부터는 정말 열공하겠습니다★
취뽀 빠샤! 경력 좀 쌓고 해외 가쟈~

0개의 댓글