[문제] 출처 https://programmers.co.kr/learn/challenge_codes/112

strToInt 메소드는 String형 str을 매개변수로 받습니다.
str을 숫자로 변환한 결과를 반환하도록 strToInt를 완성하세요.
예를들어 str이 1234이면 1234를 반환하고, -1234이면 -1234를 반환하면 됩니다.
str은 부호(+,-)와 숫자로만 구성되어 있고, 잘못된 값이 입력되는 경우는 없습니다.




package programs;

public class StrToInt {

	    public int getStrToInt(String str) {

	    	
	    	
	        return Integer.parseInt(str);
	    }
	    //아래는 테스트로 출력해 보기 위한 코드입니다.
	    public static void main(String args[]) {
	        StrToInt strToInt = new StrToInt();
	        System.out.println(strToInt.getStrToInt("-1234"));
	    }
	}





package programs;

public class StrToInt {
	public int getStrToInt(String str) {
		boolean Sign = true;
		int result = 0;

		for (int i = 0; i < str.length(); i++) {
			char ch = str.charAt(i);
			if (ch == '-')
				Sign = false;
			else if (ch != '+')
				// 아스키 코드에서 문자 1은 49 0은 48입니다. 두문자를 빼면 1
				// 아스키 코드에서 문자 2은 50 0은 48입니다. 두문자를 빼면 2
				// result에서 rsult *10을 해준 이유는 자리수를 맞추기 위해서 입니다. 
				// 처음 1이 나올 때는 result깞이 0이기에 곱했을때 1은첫째자리에 위치하게 됩니다.
				// 다음 result 값은 1이기에 곱하면 1*10하면 10+(2)를 더하면 12가되고 
				// 다음 result 값은 12이기에*10을통해 120+(3)을해서 조금씩 자릿수를 늘려나갈 수 있습니다. 
				result = result * 10 + (ch - '0');
		}
		return Sign ? 1 : -1 * result;
	}

	// 아래는 테스트로 출력해 보기 위한 코드입니다.
	public static void main(String args[]) {
		StrToInt strToInt = new StrToInt();
		System.out.println(strToInt.getStrToInt("-1234"));
	}
}


'Java > 자바 공부' 카테고리의 다른 글

dao  (0) 2018.01.29
view  (0) 2018.01.29
꼭공부) 로또번호  (0) 2018.01.21
버블정렬  (0) 2018.01.20
선택정렬  (0) 2018.01.20

+ Recent posts