부트캠프 강의
1. 문제
   - char c2 = c1++; 가 왜 컴파일 에러가 나지 않을까?
   - int 하위 타입은 연산될 때 int로 변환되는 것으로 알고있었음
   - 따라서, c2에 담으려면 (char)로 형변환을 해줘야할 것 같다고 생각함

2. 시도
   - 다양한 케이스를 시도해보자

3. 해결
   - c1++;이 컴파일 에러가 나지 않는 이유
   : c1++는 형변환 없이 c1에 있는 값을 1 증가시키기 때문임
   - char c2 = c1 + '1'은 컴파일 에러
   : 앞서 생각한 것과 같이 c1과 '1' 모두 int로 변환돼서 연산되기 때문
   - char c2 = 'a' + 1은 컴파일 에러가 나지 않음
   : 리터럴 간 연산은 컴파일 시점에 미리 계산돼기 때문에 c2 = 'b'로 바뀜

4. 알게된 점
   - c1++과 같은 단한연산자는 형변환이 일어나지 않음
   - 내가 기억하고 있는 int 아래 형은 모두 int로 변환돼서 연산됨(잘 기억하고 있었다)
   - 리터럴 간 연산은 컴파일 시점에 미리 계산됨

코테준비

1. 백준 10800 - 컬러볼

: 생각한 방향에서 시간복잡도를 계산하고 정확하게 구현하자. 그러면 풀 수 있다!!!

 

2. 백준 1826 - 연료 채우기

: 왜 헤맸을까? 사실 굉장히 간단한 로직인 '갈 수 있는 주유소 중에서 가장 많은 주유를 할 수 있는 곳을 선택한다'가 전부인데. 아직은 이런 문제가 나왔을 때 이러한 풀이법을 처음 접해서 그런것이라고 생각하자. 너무 조급하게 생각하지말고 천천히 익혀나가보자


오늘 하루고 고생 많았다!!!

'TIL(Today I Learned)' 카테고리의 다른 글

2023.07.25  (0) 2023.07.25
2023.07.24  (0) 2023.07.25
2023.07.20  (0) 2023.07.20
2023.07.19  (0) 2023.07.19
2023.07.18  (0) 2023.07.18

+ Recent posts