728x90
코딩테스트 알고리즘을 공부하다가 나오게 된 문제 유형
String으로 '02349' 이렇게 주어졌을 때 숫자 하나씩 꺼내와서 값을 연산해야 한다.
String str = "02547";
//첫번째 문자열을 숫자로 변환
long result = str.charAt(0)-'0';
//아스키코드인 '0'을 빼면 숫자로 변환이 된다
for(int i=0; i<str.length; i++) {
int num = str.charAt(i)-'0';
if(num<=1 || result<=1){
result += num;
} else {
result *= num;
}
}
String에서 한 문자를 char로 꺼내는 것은 charAt() 메서드 사용해 char로 꺼낼 수 있다.
이 char 특성상 ASCII 코드 사용해서 char를 숫자형으로 바꿀 수 있다.
charAt으로 뽑아온 숫자가 9일 경우 ASCII 코드로는 57이고, 0은 48이기에 자동으로 9로 계산된다.
외워둘 메서드!
728x90
'study > TIL🐥' 카테고리의 다른 글
[codingTest] 프로그래머스 모의고사 파이썬 (0) | 2021.03.16 |
---|---|
[codingTest] 프로그래머스 두 개 뽑아서 더하기 파이썬 (0) | 2021.03.16 |
[JAVA] 객체 생성 과정 (0) | 2021.03.12 |
[면접] 기술 면접 질문 (0) | 2021.03.04 |
MySQL이 Oracle로 인수하게 되면서 받은 혜택 (0) | 2021.01.14 |