본문 바로가기

Java22

[소소한 정보] 컴파일러의 리터럴 연산, 길이가 0인 배열 1. 컴파일러의 리터럴 연산 char c1 = 'a'; char c2 = c1 + 1; //컴파일 에러 char c3 = 'a' + 1; //에러 없음 c2에 c1 + 1 을 대입할 때, 산술 연산에서의 형변환으로 인해 (int)c1 + 1이 되고, 그 결과값도 int가 된다. 따라서 int를 char에 대입하려고 하는 경우가 되므로 컴파일 에러가 발생한다. 하지만 c3 = 'a' + 1 에서는 컴파일 에러가 발생하지 않는데, 컴파일러가 프로그램의 효율을 위해 컴파일 타임에 해당 코드를 char c3 = 'b'; 형태로 변환해 주기 때문이다. 따라서 코드의 가독성을 위해서 int second = 60 * 60 * 24; 이런식으로 표현을 해도 프로그램의 효율에는 영향을 미치지 않는다는 것이다. 2. 길이.. 2022. 1. 18.
[백준] 할로윈 묘지(3860) Java 더보기 https://www.acmicpc.net/problem/3860 3860번: 할로윈 묘지 오늘은 할로윈이다. 상근이와 친구들은 할로윈을 기념하기 위해 묘지를 방문했다. 상근이와 친구들은 한 명씩 묘지로 들어가고, 혼자서 묘지의 출구를 찾아야 한다. 이제, 상근이의 차례가 돌아 www.acmicpc.net 문제 요약 더보기 할로윈에 할짓이 없는지 묘지 탐험을 하는 상근이. 입구로 들어가서 출구로 최대한 빨리 나오는 것이 목표. 묘지는 W × H 크기의 그리드 형태. 묘지의 입구는 (0, 0)이고, 출구는 (W-1, H-1)이다. 상근이는 최대한 빨리 묘지를 나가려고 한다. 그리고 상근이는 이동하던 도중 출구에 도달하면 그 즉시 묘지를 빠져나간다. 상근이는 현재 있는 칸과 동, 서, 남, 북으로 인.. 2021. 8. 11.