전체 글

Love what you do
// 정수 num 이 주어졌을 때,// num 숫자에서 두 자리를 최대 한번만 교체하여 얻을 수 있는 최대값을 출력하세요.// 입출력 예시// num: 2736// 출력: 7236// 입력: 7116// 출력: 7611public class Main { public static int solution(int num) { char[] chars = String.valueOf(num).toCharArray(); int max = Integer.MIN_VALUE; int[] maxArr = new int[chars.length]; for (int i = chars.length - 1; i >= 0; i--) { max = Math.ma..
// 원형 루트 상에 n 개의 주유소가 있다.// 각 주유소의 가스 보유량은 gas 배열에 주어지고,// 해당 주유소에서 다음 주유소로의 이동 비용은 cost 배열에 주어진다.// 어떤 위치에서 차량이 가스를 채워 출발하면 모든 주유소를 방문하고 원래의 위치로 돌아올 수 있는지// 계산하는 프로그램을 작성하세요.// 입출력 예시// gas: 1, 2, 3, 4, 5// cost: 3, 4, 5, 1, 2// 출력: 3// gas: 2, 3, 4// cost: 3, 4, 3// 출력: -1public class Main { public static int solution(int[] gas, int[] cost) { int totalGas = 0; int resultIdx = ..
// 양의 정수 배열 prices 가 주어졌다.// 각 원소의 의미는 주식 가격을 의미한다.// 한 번에 한 주만 보유할 수 있다고 할 때 prices 를 보고 사고 팔기를 반복해서// 얻을 수 있는 최대 수익을 반환하는 프로그램을 작성하세요.// 입출력 예시 // 1 3 4 5 5 6// prices: 5, 1, 6, 4, 3, 5// 출력: 7// prices: 1, 2, 3, 4, 5// 출력: 4public class Main { public static int solution(int[] prices) { if(prices == null || prices.length
// 정수형 nums 배열이 주어졌다.// 각 원소의 값은 해당 위치에서 오른쪽으로 이동할 수 있는 최대 값이다.// 첫 번째 위치에서 시작해서 가장 끝까지 이동이 가능한지 판별하는 프로그램을 작성하세요.// 이동이 가능하면 true, 불가능하면 false 를 반환하세요.// 입출력 예시// nums: 2, 3, 0, 1, 4// 출력: true// nums: 3, 0, 0, 1, 1// 출력: true// nums: 3, 2, 1, 0, 4// 출력: falsepublic class Main { public static boolean solution(int[] nums) { int pos = 0; // 갈 수 있는 최대 위치 for (int i = 0; i = nums.l..
// 주어진 nums 배열에서 3 개의 합이 0이 되는 모든 숫자들을 출력하세요.// 중복된 숫자 셋은 제외하고 출력하세요.// 입출력 예시// nums: {-1, 0, 1, 2, -1, -4}; // 출력: [[-1, -1, 2], [-1, 0, 1]]// nums: {1, -7, 6, 3, 5, 2}// 출력: [[-7, 1, 6], [-7, 2, 5]] /** * 어려움 ! */public class Main { public static ArrayList> solution(int[] nums) { Arrays.sort(nums); ArrayList> list = new ArrayList(); for (int i = 0; i (Arrays.asList(num..
// 문자열 s 를 거꾸로 출력하는 프로그램을 작성하세요.// 단, 각 단어의 알파벳 순서는 그대로 출력합니다.// 문장에 공백이 여러개일 시, 단어와 단어 사이 하나의 공백을 제외한 나머지 공백은 제거하세요.// 입출력 예시// 문자열 s: "the sky is blue"// 출력: "blue is sky the"// 문자열 s: " hello java "// 출력: "java hello"public class Main { public static String solution(String s) { s = removeWhiteSpace(s); String reversed = reverseString(s.toCharArray(), 0, s.length() - ..
·백엔드/Spring
안녕하세요! 이번 게시글에선 일반적인 애플리케이션에서 Http 응답에 대한 방식을 어떻게 설정할지에 대해 알아보겠습니다. 스프링 프로젝트인 경우 보통 @ResponseBody 어노테이션, ResponseEntity 클래스, 커스텀 응답 클래스를 사용하는데요. 각각에 대해 설명해보겠습니다. @ResponseBody - HTTP 규격에 body만 지정할 수 있다. 스프링에서 제공해주는 @ResponseBody 어노테이션입니다. HTTP 규격에 맞춰 컨트롤러의 리턴 값을 Boby에 담아주는 역할을 합니다. 특히 API 서버로 구성된 프로젝트인 경우 컨트롤러에 @RestController 어노테이션을 설정하는 경우가 대부분인데 @RestController 에 @ResponseBody가 부착되어 있으므로 해당 경..
정수형 배열 nums 와 정수 m 이 주어졌다. nums 에는 양의 정수 값들이 들어 있고, m 은 배열을 부분 배열로 분리할 수 있는 수이다. nums 배열을 m 개의 부분 배열로 분리할 때, 각 부분 배열의 합중 가장 큰 값이 최소가 되도록 분리했을 때의 합을 출력하세요. 입출력 예시 nums: 7, 2, 5, 10, 8 m: 2 출력: 18 nums: 1, 2, 3, 4, 5 m: 2 출력: 9 public class Main { public static int solution(int[] nums, int m) { int left = 0; int right = 0; for (int n : nums) { left = Math.max(n, ..
·생각
안녕하세요. 오늘은 취업한 지 일 년 반만에 취업 후기를 작성해보려고합니다. 그동안 회사에 적응하느라 너무 바빠서 이제야 후기를 작성하게 되네요! (요즘엔 개발 업무 외에도 사내 교육생 멘토링의 참여로 더욱 바빠지게 됐지만.. 그래도 심정으로 여유가 생긴 것 같달까요..)  흠,, 혹시라도 이 글을 읽게 되실 취준생분들께 제가 가장 강조드리고 싶은 것부터 말씀드리자면..  "자기만족으로 공부하지 마라"  입니다..  왜 그런지는 모르겠지만 기술 분야에서는 취준생 혹은 주니어 임에도 불구하고자기만족적으로 공부를 하게 되는 경우가 왕왕 있는 것 같습니다.업계 트렌드가 빠르기 때문일까요? 용어가 세련됐기 때문일까요? 잘 모르겠습니다..물론 여유가 있는 분들은 자기가 끌리는 분야를 흥미를 갖고 공부하는 게 당연..
정수형 배열 weights 와 정수 days 가 주어졌다. weights 에는 각 상품의 무게들의 정보가 들어있고, days 는 운송 납기일이다. 상품들은 weights 에 적혀있는 순서대로 실어서 운송해야 하는데, days 이내에 운송을 하기 위한 차량의 운송일 당 최대 적재량 중에서 최소가 되는 경우의 적재량을 계산하는 프로그램을 작성하세요. 입출력 예시 weights: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 days: 5 출력: 15 weights: 3, 2, 2, 4, 1, 4 days: 3 출력: 6 /** * 주어진 배열의 값 자체가 아닌, 문제가 요구하는 **도메인에 해당하는 값의 범위**로 이진탐색하는 문제 !! */public class Main { public sta..
꾸준함의 미더덕
꾸준함의 미더덕