java(8)
-
[백준] 21610 마법사 상어와 비바라기(Java)
문제 자체가 설계라서 크게 설계에 힘을 들이진 않았다. 처리 흐름 1. 구름 이동 2. 각 구름이 있는 칸 물 1 증가 + 구름 있음 처리 3. 구름이 사라진다. -> map에서는 4,5번 작업을 위해 지금 없애지 않는다. 4. 물복사버그 마법 5. 물이 2 이상인 칸에 구름 생성 + 단 원래 구름이 있던 자리는 제외 내 코드의 포인트 1. 구름을 map과 ArrayList에서 중복으로 관리하고 있다. 1.1. map에는 물의 양과 구름 여부를 기록한다. => 5번 처리에서 구름 생성을 위함 1.2. ArrayList로 구름의 위치를 기록한다. => 1,2번 처리에서 구름 이동과 비를 내리기 위함 코드 import java.io.BufferedReader; import java.io.IOException..
2022.08.30 -
Collection Framwork 컬렉션 프레임워크
컬렉션 프레임 워크란 주요 인터페이스 참고 컬렉션 프레임 워크란 다수의 데이터를 쉽고 효과적으로 처리할 수 있는 표준화된 방법을 제공하는 클래스의 집합 자료구조 + 알고리즘을 클래스로 구현한 것. 인터페이스 주요 인터페이스 List Set Map 헷갈리는 부분인데 주요 인터페이스는 List, Set, Map이 맞다. 근데 Collection을 상속하는 자식은 List, Set, Queue이다. List, Set과 달리 Map은 key-value 구조이다 보니 Collection을 상속하지 않고 따로 정의한다. Collection인터페이스를 상속받진 않지만 Collection으로 분류되는 케이스 Set과 Map은 key-value 구조를 제외하곤 거의 유사 Map은 Entry란 단위가 있다. iterato..
2022.02.03 -
[JAVA] 길이를 얻는 법 - length/ length() / size()
싸피 딱 한달째가 되니 왜 싸피 후기 적힌 블로그들이 3주~4주 부근에서 글이 더 이상 올라오지 않는지 알겠다. 매주 시험 대비를 하다보면 블로그를 할 시간이 없다. 그리고 이번 글의 주제도 사실 이클립스를 쓰면 고민하지 않을 문제인데 필기 시험이라 생각하면 시험 중에 헷갈릴 것 같아서 정리해본다. 근데 난 시험 대비하는 쪽으로는 완전 똥촉이라 이건 문제에 절대 안나오겠지...ㅎ length 배열의 길이 length() 문자열의 길이 size() 컬렉션 타입(ArrayList, Set, ...)의 길이 리스트의 길이로 많이 썼다
2021.08.08 -
[JAVA] System.error.println()이란
흔히들 말한다. in은 '표준'입력, out은 '표준'출력이라고. '표준'이 모니터, 키보드, 마우스를 의미하는 것도 알고, 표준이 아닌 걸로 파일 입출력 등이 있다는 것도 안다. 근데 error나 out이나 println하면 같아보이는데 뭐가 다르냐 이거다. 일단, error도 '표준'에러다. 으아니 그럼 대체 뭐가 다르단 거요. 스트림이 다르다. 하나의 스트림은 하나의 처리만 할 수 있다. a와 b가 연결되어 있을 때 입출력을 하려면 두개의 스트림이 있어야한다. 하나는 입력을, 하나는 출력을. 어? 그럼 error도 설마? 그렇다 새 스트림이 생성된다. 그럼 뭐가 그렇게 다르길래 error의 스트림이 따로 있냐. 똑같은 출력 아니냐. error는 저장하지 않는다. 무조건 모니터에 띄우는 거다. 에러라..
2021.07.28 -
[JAVA] Runtime & Compile time 비교
잘 몰라도 적당히 쓸 수 있다. 근데 당장은 몰라도 메모리 단위의 이야기가 나왔다 하면 발목을 잡는 이야기 중 하나가 Runtime과 Compiletime이다. 물론 잠깐 멈칫했다가 적당히 이해하지만 어디까지나 적당히다. 음..! 사실 이번주는 평일에 너무 바빠서 주제들과 참고 사이트만 비공개로 나열해놨더니 하나하나 왜 이 주제를 선정했는지 기억이 안난다. 게다가 당황했던 기억은 있는데 이번주를 지내면서 완전히 익숙해져서 딱히 모르는 이야기가 내가 원하는 레벨에서는 안보이는걸. 아마... 에러에 대해 이야기하고 싶었던 것 같다. 일단 순서는 compile -> runtime이다. Compile time 2021.07.18 - [Web] - [JAVA] 컴파일러와 인터프리터, 그리고 hotspot
2021.07.22 -
[JAVA] System.out.printf()에서 %n
%n은 오타라고 생각했는데 멀쩡히 개행된 결과가 나온다. 멀쩔할 뿐만 아니라 printf()에서는 \n이 아니라 %n을 쓰는게 더 좋다고 한다. \n 항상 UNIX 스타일의 줄 마침을 제공한다. \u000A 네트워킹에서 사용시 플랫폼간 이식성 저하되기때문에 반드시 \n이 필요할 때만 사용해야한다. %n 실행중인 플랫폼 형식의 줄 마침을 제공한다. -> 이식성이 높다 주의 %n은 Sytem.out.printf()에서만 사용할 수 있다. 포맷팅이니까! 참고 http://daplus.net/java-printf%EC%97%90%EC%84%9C-java%EC%9D%98-n%EC%9D%80-%EC%96%B4%EB%96%BB%EA%B2%8C%EB%90%A9%EB%8B%88%EA%B9%8C/
2021.07.20