코딩테스트/lv0

[프로그래머스 코딩테스트] java Lv.0 숫자 찾기

chantleman 2024. 7. 18. 09:42

 

class Solution {
    public int solution(int num, int k) {
        int answer = -1;
        String ns = num+"";
        String ks = k+"";
        
        for(int i=0; i<ns.length();i++)
        {
            if(ks.equals(ns.charAt(i)+"")) return i+1;
        }

        return answer;
    }
}

 

 

class Solution {
    public int solution(int num, int k) {
        String ns = num+"";
        String ks = k+"";
        
        if(!ns.contains(ks)) return -1;
        return ns.indexOf(ks)+1; 
    }
}

 

 

String형 말고 char형으로 할 때는 equals()가 아닌 ==으로 비교해야함

class Solution {
    public int solution(int num, int k) {
        int answer = -1;
        String ns = num+"";
        char ks = (char)(k + '0');

        for(int i=0; i<ns.length();i++)
        {
            if(ks==ns.charAt(i)) return i+1;
        }     
        return answer;
    }
}

char는 equals메소드가 없음

char는 원시 데이터 유형으로 객체가 아니기 때문에 ==으로 비교할 때 주소 비교가 아닌 값비교가 수행됨

char변수 값은 메모리 주소를 갖지 않음