분류 전체보기

    [백준] 1916번: 최소 비용 구하기 / JAVA

    1916번 최소 비용 구하기 https://www.acmicpc.net/problem/14496 14496번: 그대, 그머가 되어 첫째 줄에 머호가 바꾸려 하는 문자 a와 b가 주어진다. 둘째 줄에 전체 문자의 수 N과 치환 가능한 문자쌍의 수 M이 주어진다. (1 ≤ N ≤ 1,000, 1 ≤ M ≤ 10,000) 이후 M개의 줄에 걸쳐 치환 가능한 문 www.acmicpc.net 설명 이번 문제는 한 지점까지의 최소비용을 구하면 됩니다. 다익스트라의 개념을 이해하고있으면 쉽게 풀 수 있는 문제입니다. 방문 배열을 만들어 풀이도 가능합니다. 풀이

    [회고] 2021년을 마치며 - 백엔드 개발자

    [회고] 2021년을 마치며 - 백엔드 개발자

    Intro 2021 회고록이 많이 늦었습니다. 데브 코스를 끝마치고 새해가 되자마자 이력서를 돌리며 코딩 테스트를 진행하고 면접을 준비하다 보니 회고록이 미루고 미뤄지다 이러면 작성하지 못할 것 같아 짧게나마 적으려고 합니다. +계속해서 블로그를 이사하다 보니 너무나 지쳤네요ㅜ 구글 서치가 잘 적용되는 이 블로그에 정착하려고 합니다.😂 상반기 탈락이 익숙하지 않은 시절 2020년 12월 30일 우아한 테크 코스 3기 과정에 최종 탈락을 했습니다. 너무 간절했던 탓인지, 긴장을 많이 했던 탓인지, 역량이 부족했던 탓인지 최종 테스트를 처참하게 치렀습니다. 이미 탈락을 예상하고 있는 상황이었지만 탈락이 익숙하지 않은 시절 탈락의 메일은 많이 좌절하게 만들었습니다. 하지만 우아한 테크 코스가 개발자가 되는 전..

    [백준] 2564: 경비원 / JAVA

    https://www.acmicpc.net/problem/2564 2564번: 경비원 첫째 줄에 블록의 가로의 길이와 세로의 길이가 차례로 주어진다. 둘째 줄에 상점의 개수가 주어진다. 블록의 가로의 길이와 세로의 길이, 상점의 개수는 모두 100이하의 자연수이다. 이어 한 줄 www.acmicpc.net 설명 (0, 0)을 기준으로 1차원 배열로 만들어 각 위치의 최단거리를 구할 수 있습니다. 위 그림을 1차원 배열로 만들어줍니다. 1차원 배열로 만들면 위와 같은 배열이 만들어집니다. 그다음 X 좌표에서 타깃을 하나씩 좌, 우로 거리를 재면서 짧은 경로를 구하면 됩니다. 저는 타깃에 번호를 매겨서 해당 번호를 추적하였습니다. 풀이

    [독서 후기] 함께자라기 -애자일로 가는 길

    [독서 후기] 함께자라기 -애자일로 가는 길

    들어가며 최근 자주 보는 유튜브 채널이 생겼다. '개발바닥'이라는 채널이고 이동욱 님과 호돌맨 님이 진행하는 개발 토크쇼다. 취준생, 주니어 개발자에게도 도움이 될 수 있는 영상들이 많다. 게스트도 짱짱하다. 김영한 님이 게스트로 나오는 데, 영상에서 직접 추천해준 책이 '함께 자라기'이다. 추천 도서에는 항상 포함되어있는 듯하다. 이번 주는 개발 공부에 집중하기 힘들었다. 면접 결과가 좋지 않았고, 주변에서 취업 소식이 들려오고, 우테코가 시작하려면 2주 정도가 남은 시간이었다. 개발에 집중이 안되면 독서라도 해야겠다는 마음에 읽은 책이 함께 자라기이다. 느낀 점 우선 책이 술술 읽혔다. 책이 짧기도 하고 예시가 많기 때문에 쉽게 이해하면서 읽었다. 완독을 하는 성취감을 빠르게 느끼게 해 주었다. 지금..

    [백준] 1584번: 게임 / JAVA

    https://www.acmicpc.net/problem/1584 1584번: 게임 첫째 줄에 위험한 구역의 수 N이 주어진다. 다음 줄부터 N개의 줄에는 X1 Y1 X2 Y2와 같은 형식으로 위험한 구역의 정보가 주어진다. (X1, Y1)은 위험한 구역의 한 모서리이고, (X2, Y2)는 위험한 구역의 www.acmicpc.net 설명 움직일 때마다 생명이 적게 소모되는 곳을 먼저 탐색하면 되므로 우선순위 큐를 이용한 BFS 탐색을 하면 됩니다. 풀이

    [Java] 리플렉션 (reflection) 개념 이해하기

    리플렉션 들어가며 자바를 처음 배우던 시절 생각해 보면 리플렉션이라는 단어조차 들어 본 적이 없었습니다. 자바를 점점 학습하면서 종종 들어봤지만 그때 당시 '리플렉션을 모르면 사용하지 말아라', '면접에서 안다고 얘기했다가 까였다.' 등의 글을 읽으며 핑계 삼아 공부를 미뤘습니다. 백기선님의 자바 라이브 스터디 시절 어노테이션을 공부하다가 리플렉션이라는 키워드를 다시 만나게 되었고 이때 간단하게 학습했습니다. 그리고 스프링 AOP를 공부하면서 다이나믹 프록시를 알게 되고 리플렉션에 대해 이해하게 되었습니다. 저도 한 번에 이해하지 못 한 개념이고 어노테이션, aop 등 공부하다 보면 리플렉션에 대한 퍼즐 조각이 자연스럽게 맞춰질 수도 있습니다. (제가 그랬어요.) 자바의 리플렉션이 익숙하지 않다면 조금이..

    [프로그래머스 데브 코스] 데브 코스 백엔드 과정을 마치며

    [프로그래머스 데브 코스] 데브 코스 백엔드 과정을 마치며

    Intro. 약 5개월간 데브 코스를 끝마친 뒤 느낀 점에 대해 적어보려고 합니다. 짧으면 짧다고 느낄 수 있는 기간이지만 많은 동료들을 만나고 많이 학습할 수 있는 시간이었습니다. 데브 코스 2기를 준비하는 분들에게도 도움이 되었으면 좋겠어요. motivation 2020년 초 우아한테크코스3기 최종 시험에서 떨어지며 좌절도 하고 방황도 했어요. 스터디를 만들고 같이 프로젝트를 할 팀원을 구해 프로젝트도 진행해보았죠. 커뮤니티에서 만든 스터디의 특성상 오래가지 못하고 지속적인 커뮤니케이션이 힘들다는 점이 있었죠. '우테코였다면?'이라는 생각에 스스로 더 열심히 해보려 하고 책도 꾸준히 읽었어요. 그러다 데브 코스를 알게 되었어요. 커리큘럼도 좋아 보였고 일반 국비지원과는 다른 느낌을 받았어요. 코딩 테..

    [Java] Record

    [Java] Record

    Record Intro. 자바 14 이전에는 단순히 데이터를 저장시키고 조회하는 클래스를 만들려면 필드와 메서드가 포함된 클래스를 만들어야 했고 이는 개발자의 잦은 실수와 반복되는 작업을 일으켰다. 자바 14부터 record를 사용하여 이러한 문제를 해결할 수 있다. record는 enum처럼 제약을 가진 클래스의 일종으로 간결함을 얻기 위한 용도가 있다. 목적 일반적으로 데이터베이스의 결과, 쿼리 결과, 서비스 정보 같은 단순한 데이터를 가진 클래스를 작성한다. 많은 경우 데이터를 불변하게 생성하는데 이 과정에서 private, final, getter, constructor, equals and hashcode, toString을 작성하게 된다. 이것은 많은 getter 메서드를 필요로 하고 클래스의..