99클럽 코테 스터디 4일차 TIL

Marin·2024년 7월 25일
0

TIL

목록 보기
4/17
post-thumbnail
post-custom-banner

1 | 오늘의 코테

문제

제출

class Solution {
    public int solution(String s) {
        return Integer.valueOf(s);
    }    
}

다음과 같이 제출했지만, Integer.valueOf()의 알고리즘 자체를 만드는 것이 문제의 의도라 생각하여 다른 답안을 다시 공부하였다...

Integer.valueOf() 메서드 구현

pubilc Class Solution {
	public int solution (String str) {
    
		private boolean sign = true; //양수
    	int result = 0;
   
    	//str를 인덱스 순으로 형변환 (Char -> Int)
    	for(int i = 0; i < str.length; i++) {
    		char c = str.charAt(i);
        
    		//1. 음수 확인 2. 양수: true 유지 3. 숫자일 때 형변환
        	if (c == '-') {
        		sign = false;
        	} else if ( c != '+') {
        		result += result * 10 + c - '0';
        	}
               
        	return (sign ? 1 : -1) * result;
	}     
} 
  1. 부호 결정: 음수일 때 sign 을 false로 바꿈
  2. 문자(char) - '0' : 아스키코드 차이로 문자를 숫자로 형변환
  3. return 에서 부호곱은 간단히 표현 가능
  4. .charAt(index) 활용
    
profile
대학생 | BE | 취준 | 습관이 나를 만든다
post-custom-banner

0개의 댓글