목록Java (49)
복's
https://school.programmers.co.kr/learn/courses/30/lessons/155651 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr프로그래머스 문제 풀이할 때 시간 관련 문제가 나오면 LocalTime 을 먼저 사용하는데 계속해서 날짜가 넘어가는 케이스를 생각 못해서 엣지 케이스가 생기고, 그 때 마다 LocalDateTime 으로 변경하는 작업을 반복했다... 앞으로는 바로 LocalDateTime 을 사용 하던가, 아니면 시간을 쫌 더 편한 int 단위로 변경해서 풀이하는게 나을 것 같다.(분 * 60) + 초[ 📌 분석 ..
https://school.programmers.co.kr/learn/courses/30/lessons/169199 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr문제를 잘 읽고, 이해하고, 충분히 생각한 후 풀어야 한다고 매번 반성하지만 또 반성하게 만들어준 문제...로직 변경으로 여러번 하는 고충을 경험한 후 통과할 수 있었다... 주어진 조건들이 명확해서 잘 지키기만 하면 통과까지는 문제가 없는데, 아무래도 그래프 문제를 자주 접하다 보니까 자만하고 문제의 설명보다 나를 믿고 풀었다. (도대체 뭘 믿은거지....) 꿈보다 해몽이라고 문제는 뒤로하고 내 상..
https://school.programmers.co.kr/learn/courses/30/lessons/68936 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr분할 정복 문제로 기본 문제로 연습하기에 딱 좋은 문제인 것 같다.스터디에서 선정한 문제인데 스터디원들 각자 풀이를 봤을 때 백트래킹 / DFS 같이 다양한 알고리즘으로 분류 되었는데, 결국 핵심은 재귀적으로 더 이상 작은 범위로 좁혀지지 않을 때 까지 쪼개는게 문제의 핵심이다.[ 📌 분석 ]크게 분석에 시간을 많이 쓸 필요 없었던게 문제가 원하는 명확했다.2^3 으로 주어진 8 x 8 사이즈 크기의..
최근에 접하게된 문제점인데 진짜 Java 를 사용하는 개발자라면 당연히 알고있을 내용 이지만 그 내용이 보안적인 취약점을 만들 수 있다는 점을 생각하지 못하고 있어서 놀랐다. https://nashs789.tistory.com/128 [ Java ] String 사용시 컴파일러는 최적화를 할까?Java 를 사용해서 일을 시작하게 되면서, 소스 코드 리딩을 하고 있는데 서버 사이드에 있는 코드들에 String Literal 연산이 많이 보여서 의문을 가지게 되었다. 의문의 시작은 내가 알고 있는 Stringnashs789.tistory.com 예전에 Java 에서 String 을 어떻게 최적화 하는지 컴파일러가 최적화 해주는 방법을 궁금해서 찾아 봤었는데, 우선 문제 내용을 이해하기 위해서는 선수 지식이 ..
https://school.programmers.co.kr/learn/courses/30/lessons/172927 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 요즘 그리디 문제를 자주 접하고 있는데, 어느 정도 감만 잡으면 풀 수 있는 문제들도 슬슬 나오기 시작 했다.그리디 문제들을 내가 접하면 어떻게 풀지 하고 뇌정지되는 경우가 많았었는데(사실 지금도) 어떻게든 일단 코드를 치기 시작하면 통과하지 못하더라도 진행은 되더라📌 분석입력되는 광물 순서를 변경 불가능함곡괭이내구도 5 (5개의 광물까지 채광 가능하다)한 번 사용을 시작하면 내구도가 끝날 때 까..
https://school.programmers.co.kr/learn/courses/30/lessons/17686 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 단순히 주어진 조건으로 파일명을 정렬하는 문제이다.나는 주로 정렬 문제는 구현 되어있는 sort() 사용하거나 필요에 따라서 인터페이스 Compartor 를 구현 해서 풀이 햐였는데 오늘은 뭔가 색다른 풀이를 원하고 있었고, 조금 더 객체지향(?)적인 코드를 짜고 싶어졌다. 결국 과하다는 생각에 코드를 조금 되돌리기는 했지만 이번 풀이 덕분에 조금은 틀에서 벗어난 기분을 느껴서 좋았다.📌 분석파일..
https://school.programmers.co.kr/learn/courses/30/lessons/176962 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 단순 구현 문제로 자료구조를 사용하기 나름인 문제인 것 같았는데, 애좀 먹었다.다른 사람들 풀이를 보니까 다양한 풀이가 있었는데 나는 자바에서 제공하는 LocalDateTime 클래스를 이용해서 시간들을 제어하려고 시도 했다. 처음에는 LocalTime 이면 해결 될 줄 알았는데, 23:59 에서 시간이 오버 플로우(?) 되면 대응이 안되기 때문에 중간 과정에서 변경이 불가피했다.📌 분석/** *..
https://school.programmers.co.kr/learn/courses/30/lessons/250136 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 알고리즘 문제를 오랜만에 포스팅 합니다. 그래프 탐색을 이용하는 알고리즘 문제로, 그래프 탐색의 변형 보다는 이용이라고 하는게 맞는 것 같다. 처음 문제를 접했을 때는 시간 효율에 대해서는 생각 하지 않고, 풀이에만 집중해서 문제를 풀었더니 효율성 테스트에서 걸려서 자료 구조부터 다시잡고 시작했다. (사실 초기에는 방문 처리도 별도의 자료 구조를 갖고 했는데 효율성에 걸리다 보니 불필요한 코드를 모..
[ 📌 서론 ]프로그래밍을 하다가 보면 고정된 상수(Constant)가 필요한 경우가 있다.예를 들면 월,화 ~ 토,일요일을 표현하기 위해서는 아래와 같은 여러가지 표현을 할 수 있는데public class Day { final static int MONDAY = 1; final static int TUESDAY = 2; final static int WEDNESDAY = 3; final static int THURSDAY = 4; final static int FRIDAY = 5; final static int SATURDAY = 6; final static int SUNDAY = 7;}이렇게 숫자로 표현해도 괜찮고, String 타입으로 변경해도 좋다.publi..
[ 📌 서론 ]https://www.acmicpc.net/problem/2458 단순히 그래프 탐색으로도 풀이가 가능할 거라고 생각은 되는게 그래프를 정, 역방향 2개 만들고 탐색 알고리즘을 수행한다면정방향: 나보다 큰 키의 학생들역방향: 나보다 작은 키의 학생들선택한 노드 기준으로 다른 학생들과의 키 상하 관계를 알 수 있을 것 같지만, 나는 플로이드-워셜 알고리즘을 연습하기 위해서 알고리즘 분류에서 선택해서 문제를 골랐다.[ 📌 풀이 ]중요한점은 어떤 노드가 크고 작은지가 중요한게 아니라 도달할 수 있는지가 중점이다. 그래프 구성하기도달 여부만 알면 되기 때문에 true/false 로 노드 관계를 구성했다.정방향은 입력으로 주어진다.플로이드-워셜 알고리즘 수행경유 노드를 거쳐서 도달할 수 있는지 ..