15주차 알고리즘

이동규·2023년 7월 30일

코테

목록 보기
6/22

class Solution {
    boolean solution(String s) {
        boolean answer;
        int p_cnt = 0;
        int y_cnt = 0;
        
        for (int i = 0; i < s.length(); i++) {
            if (s.charAt(i) == 'p' || s.charAt(i)== 'P') {
                ++ p_cnt;
            }
            else if (s.charAt(i) == 'y' || s.charAt(i)== 'Y'){
                ++ y_cnt;
            }
        }

        answer = p_cnt == y_cnt ? true:false;

      

        return answer;
    }
}


class Solution2 {
    public int solution(String s) {
        int len = s.length()-1;
        int decimal=1;
        int answer=0;
        int compare=1;
        int start = 0;
        if (s.charAt(0)== '-' ) {
            len = s.length()-2;
            compare *=-1;
            start=1;
        }
        else if(s.charAt(0)== '+'){
            len = s.length()-2;
            start =1;
         }
        for (int i = 0; i < len; i++) {
            decimal *= 10; 
        } 

        for (int i = start; i < s.length(); i++) {
       
           answer +=  (s.charAt(i) - '0') * decimal ;
           decimal /= 10;
        }
        return answer *compare;
    }
}

class Solution3 {
    public long solution(long n) {// 문자열로 만들기
        long answer = 0;;
        String str = "" + n;
        long decimal = 1;
        ArrayList<Integer> list = new ArrayList<>(str.length()); 
        for (int i = 0; i < str.length(); i++) {
                list.add(i,(int)(str.charAt(i) - '0'));
                if (i <= str.length()-2) {
                    decimal *= 10;
                }

                
        }

        Collections.sort(list,Collections.reverseOrder());
        for (int i = 0; i < list.size(); i++) {
            answer += list.get(i) * decimal;// 자동 형변환 될듯 
            decimal /=10;
        }

        return answer;
    }
}


class Solution4 {
    public int solution(int[] a, int[] b) {
        int answer = 0;
        for (int i = 0; i < a.length; i++) {
            answer += a[i] * b[i];
        }

        return answer;
    }
}

class Solution5 {
    public long solution(long n) {
        if (Math.pow((int)Math.sqrt(n), 2) == n) {
              return (long) Math.pow(Math.sqrt(n) + 1, 2);
          }
  
          return -1;
    }
  }

0개의 댓글