3자리수* 3자리수 연산
- 오늘의 학습 키워드
일반 구현 문제
- 공부한 내용 본인의 언어로 정리하기
3자리수를 각각 문자로 표현해서 10진수 10의 0, 10의 1 , 10의 2제곱을 나중에 곱해서 sum을 했다.
- 오늘의 회고
- 어떤 문제가 있었고, 나는 어떤 시도를 했는지
10진수 자리수를 표현하는게 어려웠다.
- 어떻게 해결했는지
pb[i] 에다가 자리수를 뺀 상태로 값을 곱한다.
자릿수 없이 인덱스로 표현할수 있게 만들기
String B = st.next();
int[] pb= new int[3];
for(int i=0; i<B.length; i++){
pb[i]= B.charAt(i)-'0';
}
sum을 만들기
int sum=0;
int place=1;
for(int i=2; i>=0;i--){
int result=A*pb[i];
sum += result *place;
place*=10;
}
- 무엇을 새롭게 알았는지
- 내일 학습할 것은 무엇인지
다르게 푸는 방법



이게 다른사람이 푼 문제 풀이중에 가장 빠른 연산을 가진다는 풀이이다.
Q. 왜 중간 중간 공백문자들을 건너뛰는지
b= System.in.read();
다음 자릿수 읽기이다. 입력에서 숫자와 숫자 사이에 공백 , 개행문자가 있다. 주어진 숫자 485 \n 385 이므로
해당 공백문자를 건너뛰고 다음 숫자의 첫자리를 찾기 위해서 건너뛴다.
&15는 무슨뜻인지
ASCII 문자를 숫자로 변환하는 트릭이다.
'0'의 ASCII 는 48(110000)
15는 이진수로 1111이다. &15 하면 하위 4비트만 남는다.
53(문자 '5'dml 아스키 값) = 110101(2진수)
15= 001111(이진수)
53&15 = 110101 & 001111= 000101=5 으로 4비트만 남게된다.
res[3]= (res[3]<<3 + res[3]<<1) * res[i]; 이게 무슨 뜻인지
'【스터디노트】 > ▷TIL' 카테고리의 다른 글
| 코테 스터디 57일차 TIL + 오늘의 학습 키워드 반복문 (0) | 2025.08.18 |
|---|---|
| 코테 스터디 56일차 TIL + 오늘의 학습 키워드 별찍기 (1) | 2025.08.11 |
| 코테 스터디 54일차 TIL + 오늘의 학습 키워드 window sliding (2) | 2025.08.02 |
| 코테 스터디 53일차 TIL + 오늘의 학습 키워드 빽투더 베이직 (1) | 2025.08.01 |
| 코테 스터디 52일차 TIL + 오늘의 학습 키워드 이진함수 (2) | 2025.07.26 |