2022-02-05 TIL (자바, 알고리즘)
05 Feb 2022 0 Comments | TIL 학습과정1. 자바
자바의 정석 마지막 장인 Chapter 16. 네트워킹을 공부했다.
- 클라이언트/서버
- IP 주소와 URL
- 소켓 프로그래밍: TCP와 UDP, TCP 소켓 프로그래밍, UDP 소켓 프로그래밍
2. 알고리즘
silver 4. 캠핑 (4796) 문제를 풀었다.
- 자바의 정석 입출력 부분에서 BufferedReader와 BufferedWriter를 배워 처음으로 알고리즘 문제를 풀 때 적용해보았다. 처음이다보니 직접 코드로 구현해 원하는데로 입력받아오기까지 시간이 조금 걸렸다.
- 문제를 보자마자 아이디어가 떠올라 떠오른데로 구현을 하고 제출했지만, 결과는 “틀렸습니다”가 나왔다. 왜 틀렸는지 이해가 되지 않았고 한참동안 생각했다… 틀린 이유는 처음 세운 계산식에 예외 케이스가 있었기 때문이었다.
- 처음 세운 계산식:
(V/P)*L + (V%P)
- 만약 “2 8 20”이 입력으로 들어온 경우, 처음 세운 계산식대로 계산을 하면 결과가 올바르게 나오지 않는다. V%P의 값은 4이지만 최대 사용 가능 날짜(L)의 값은 2이기 때문에 V%P의 값을 더해주면 안되고 L의 값을 더해주어야 올바른 결과가 나온다.
- 따라서 계산식을
(V/P)*L + min(L, (V%P))
로 수정했고 테스트를 통과할 수 있었다.
- 처음 세운 계산식: