분류 전체보기(86)
-
8.24 화 오늘의 하루는...
새벽 4시 반부터 스터디 카페 가서 공부하는 일과를 한지 3일 정도 됐는데, 공부가 진짜 많이 된다. 오늘도 새벽 5시 즈음 해서 공부했는데, 7시간 풀로 알고리즘 짜고 카페 왔는데 이제 겨우 낮 12시다. 와우~ 아 부작용으로 대신 좀 많이 피곤하긴 하다. 커피를 드링킹 드링킹 하는데도 졸린다..ㅋㅋㅋㅋㅋ 요즘은, 같이 운동하던 동생들이 운동하러 안나와서 슬프다. 스파링 뛰면서 주먹의 대화(?) 하는게 마냥 달갑진 않았는데, 막상 2주째 못하니까 그립긴 하다. 대신 그 시간을 근력 운동하면서 채우고 있긴 한데, 단순 근력 운동은 심심하다구.. 이번주도 진수랑 같이 즐겁게 비명지르며 웨이트 운동만 할 듯하다. 원핵이가 알고리즘 스터디 같이 하자고 제안이 왔다. 성민이도 같이 한다고. 원혁 성민 조합이면 ..
2021.08.24 -
[백준] 스도쿠
스도쿠 (골 4) : https://www.acmicpc.net/problem/2580 2580번: 스도쿠 스도쿠는 18세기 스위스 수학자가 만든 '라틴 사각형'이랑 퍼즐에서 유래한 것으로 현재 많은 인기를 누리고 있다. 이 게임은 아래 그림과 같이 가로, 세로 각각 9개씩 총 81개의 작은 칸으로 이루 www.acmicpc.net 스도쿠는 내가 정말 좋아했던 게임이다. 에버랜드 알바하던 시절에 쉬는 시간 틈만 나면 폰으로 스도쿠 했을 만큼 좋아했다. 스도쿠를 하면서 가장 힘들었던 유형은, 노가다로 숫자를 하나씩 집어 넣어 중복되는게 없는지 일일이 다 확인해야 하는 경우가 많은 문제였다. 이 문제는 그 노가다 과정을, 고스란히 코드로 옮기는 문제이다. 접근 방법은 다음과 같다. 1. 빈 칸에 숫자 1을 ..
2021.08.24 -
[백준] Two Dots
Two Dots (골 4) : https://www.acmicpc.net/problem/16929 16929번: Two Dots 첫째 줄에 게임판의 크기 N, M이 주어진다. 둘째 줄부터 N개의 줄에 게임판의 상태가 주어진다. 게임판은 모두 점으로 가득차 있고, 게임판의 상태는 점의 색을 의미한다. 점의 색은 알파벳 대문 www.acmicpc.net DFS 를 이용, 주어진 좌표가 사이클을 이루는지 확인하면 된다. visited 배열/해쉬 테이블/set을 이용하여 이미 한번 왔다간 좌표를 재방문할 시 true, 아니면 false를 반환하면 된다. C++은 visited로 set을 사용, 자바는 일반 벡터를 사용하였다. HastSet을 사용하여 했으나, HashSet 클래스의 Contains 메서드는 값을..
2021.08.23 -
8.23 ~ 8.29 주간 목표
욕심을 버리시오~ 1. 알고리즘 (레벨 업!) 완전 탐색 (재귀) 부분 수열의 합 (실2) : https://www.acmicpc.net/problem/1182 스도쿠 (골4) : https://www.acmicpc.net/problem/2580 그래프 탐색 Two Dots (골4) : https://www.acmicpc.net/problem/16929 뱀과 사다리게임 (실 1) : https://www.acmicpc.net/problem/16928 연구소 (골 5) :https://www.acmicpc.net/problem/14502 연구소2 (골 5) : https://www.acmicpc.net/problem/17141 연구소3 (골 4) : https://www.acmicpc.net/problem..
2021.08.22 -
8.20 오늘의 하루는...
오랜만에 하루 기록을 쓰네. 순조롭게 모든 일이 잘 풀리고 있다. 컨디션도 괜찮고, 공부도 아주 잘 되고 있다. 알고리즘 같은 경우도 계획했던 것 보다 훨씬 잘 풀고 있어서, 전체적인 문제 난이도를 조금 높여도 될 것 같다. 현재 백준 티어도 골드 3까지 27점까지 남지 않았다. 다시 원래대로, 전체적인 공부 시간을 늘리고 싶다. 성남에 있을 땐 하루에 10시간 이상 공부했는데, 지금은 운동도 하고 집안일도 가끔 하고 그래서 공부 시간이 많지는 않다. 취침 시간을 당겨서 낮에 깨어있는 시간을 늘려야 하는데... 말처럼 쉽지 만은 않네. 요즘 들어 어머니 건강이 조금 안 좋아지신 것 같은 느낌이다. 이런 저런 검사 결과가 안 나오긴 했는데, 느낌적인 느낌이 그렇다. 좀 걱정되긴 하다. 오늘 분량 알고리즘 ..
2021.08.20 -
JVM의 Garbage Collection 과정
원래는 이 주제를 음주 글쓰기로 쓰고 있었는데, 다음날 제정신 차리고 보니까 도저히 아니다 싶어서 싹 갈아 엎고 다시 씀. Stop - The - World GC가 가비지 컬렉션을 수행할 시, 가비지 컬렉션을 실행하는 쓰레드를 제외하고 나머지 모든 쓰레드는 잠깐 멈춘다. 이 멈춰진 쓰레드들은 가비지 컬렉션이 실행되고 난 이후에 다시 실행되는데, 이렇게 가비지 컬렉션을 수행하기 위해 JVM 이 애플리케이션을 잠깐 멈추는 것을 "stop-the-world"라고 한다. 당연히 stop-the-world 시간이 길어지면 그만큼 쓰레드들이 멈춰 대기해야하므로 프로그램을 사용하는 입장에선 큰 성능 저하이다. GC에 있어 stop-the-world 현상은 피할 수 없어서, 성능 튜닝을 위해선 가능한 stop-the-..
2021.08.20 -
[String] equals 메서드와 == 연산의 차이
== 연산은 두 String 객체의 주소값이 같은지만 확인을 하는데 반해, equal 메서드는 스트링 객체의 값이 같은지 확인한다. 해시 코드 값이 다르더라도, 값이 같다면 true를 리턴한다. 들어가며 자바의 모든 객체는 object 클래스를 상속 받으며, object 클래스 내에선 equals 메서드가 있어 두 객체가 같은지 확인할 수 있다. 이 equals 메서드 내에선 기본적으로 hashCode() 메서드로 두 객체의 해쉬코드 값이 같은지를 확인한다. 한편 String 클래스에서는 이 equals 메서드를 오버라이딩하는데, 이 오버라이딩 된 String 클래스의 equals 메서드는 내부적으로 hashCode() 메서드로 해쉬 코드를 비교하는 작업을 하는지 궁금해졌다. 객체 사이의 == 연산 기본..
2021.08.19 -
8.15 ~ 8.22
할 일이 많구만요~ 예아 1. 알고리즘 구현 풀다 빡치면 그래프 탐색 풀기. 구현 컨베이어 벨트 위의 로봇(실1) : https://www.acmicpc.net/problem/20055 경사로 (골3) : https://www.acmicpc.net/problem/14890 주사위 굴리기 (골4) : https://www.acmicpc.net/problem/14499 겉넓이 구하기 (실 2) : https://www.acmicpc.net/problem/16931 그래프 탐색 숨바꼭질 (실 1) : https://www.acmicpc.net/problem/1697 숨바꼭질 3 (골 5) : https://www.acmicpc.net/problem/13549 숨바꼭질 4(골 4) : https://www.ac..
2021.08.15