프로그래머스_핸드폰 번호 가리기 JAVA
·
알고리즘/알고리즘 풀이
프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 이번 문제는 '핸드폰 번호 가리기' 문제다.과거에 풀었던 문제라 과거 코드가 남아있었다. 과거 코드class Solution { public String solution(String phone_number) { String answer = ""; int len = phone_number.length(); int numberLen = len - 4; answer = phone_number.substring(0, numberLen); String number = phone_num..
프로그래머스_약수의 합 JAVA
·
알고리즘/알고리즘 풀이
프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 이번 문제는 '약수의 합'이다. 그리고, 과거에 풀었던 문제라 과거 코드가 남아있었다. 과거 코드class Solution { public int solution(int n) { int answer = 0; int temp = 0; for(int i = 1; i 이번의 과거 코드 역시 마음에 들지 않는다..에라토스테네스의 체를 사용할까하다가 뭔가 비효율적인 것 같아서 핵심 코드 내용만 조금 가져와서 수정했다. 현재 코드class Solution { public int solution(int n)..
프로그래머스_최댓값과 최솟값 JAVA
·
알고리즘/알고리즘 풀이
프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 이번에 풀 문제는 '최댓값과 최솟값'이다. 무려 LEVEL 2!LEVEL2라서 약간 긴장했으나 문제가 짧아서 안도했다.그리고 이번 문제는 처음 푸는 문제라 더욱 긴장쓰문제 내용은 그리 어렵지 않았다. 공백을 구분자로 정수가 적힌 문자열에서 최솟값과 최댓값을 찾아 "최솟값 최댓값" 형태로 리턴하면 된다. 코드import java.util.*;class Solution { public String solution(String s) { String[] arr = s.split(" "); Arrays.sort(arr, new Comp..
프로그래머스_숫자 문자열과 영단어 JAVA
·
알고리즘/알고리즘 풀이
프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 이번에 풀 문제는 '숫자 문자열과 영단어'이다.2021 카카오 채용연계형 인턴십 문제라고 한다.그리고 이미 풀었던 문제라 과거 코드가 남아있었다.  과거 코드class Solution { public int solution(String s) { String[] numbers = {"zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"}; for(int i = 0; i -1) { s = s.rep..
프로그래머스_문자열 내림차순으로 배치하기 JAVA
·
알고리즘/알고리즘 풀이
프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 오늘의 문제는 문자열 내림차순으로 배치하기다.이번 문제도 풀었던 문제라 과거 코드 먼저 살펴보겠다. 과거 코드import java.util.*;class Solution { public String solution(String s) { char[] charArr = s.toCharArray(); Arrays.sort(charArr); StringBuilder sb = new StringBuilder(new String(charArr)); return sb.reverse().toString..
프로그래머스_소수 찾기 JAVA
·
알고리즘/알고리즘 풀이
프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 오늘은 세 번째 문제를 푸는 날이다. 이번 문제는 이미 풀어놨던 문제라 과거에 제출했던 코드가 남아있었다. 과거 코드class Solution { public int solution(int n) { int answer = 0; boolean[] check = new boolean[n+1]; check[0] = check[1] = false; for(int i=2; i 뭘 주저리 주저리 많이도 써놨다. 쓸데없는 코드는 왜 있는지 모르겠다.핵심 코드는 가운데 있는 이중 for문이다.과거 코드..
프로그래머스_문자열 내 마음대로 정렬하기 JAVA
·
알고리즘/알고리즘 풀이
오늘의 문제는 문자열 내 마음대로 정렬하기다.이것도 예전에 풀었을 것 같아서 코 후비면서 들어갔는데 아니! 처음 푸는 문제였다. 풀이import java.util.*;class Solution { public String[] solution(String[] strings, int n) { Arrays.sort(strings, new Comparator() { @Override public int compare(String o1, String o2) { if(o1.charAt(n) == o2.charAt(n)) { return o1.compareTo(o2..
프로그래머스_나머지가 1이 되는 수 찾기 JAVA
·
알고리즘/알고리즘 풀이
아니 원래 커리큘럼에 대한 문제가 5개씩 밖에 없어 적은 느낌이라10개씩 추천해달라 했는데 어메나 기존 데이터를 싹 날려서;;다시 추천해줬다. 그래서 새로운 마음으로 다시 시작하는 1번! '나머지가 1이 되는 수 찾기'다.  프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 이 문제도 역시 풀어봤던 문제다.예전 코드를 보는데;;정말 총체적 난국이라 생각했다. 과거 코드class Solution { public int solution(int n) { boolean isEven = n % 2 == 0 ? true : false; if(isEven) { for(..
Java로 취소표 알람 프로그램 만들기 - 개발 도전기
·
공부/Java
친구랑 캠핑은 싫고 고기는 구워먹고 싶어서 바베큐장을 알아보는데 인기많고 저렴한 곳을 알게되었다.. 저렴해서 그런가 10월 예약이 꽉차있어 취소표 노리고 있는데 아무리 새로고침을 해도 취소표가 안풀리는거임...바쁜 내가 이걸 계속 새로고침하면서 취소표를 기다릴 수도 없는 노릇..! 취소표가 생겨 예약이 활성화되면 핸드폰으로 알람이 오는 그런 프로그램을 만들고 싶다는 의욕이 갑자기 생겨버렸다.참고로 악용될 여지가 있기 때문에 정확한 소스 제공은 없다.아무런 기초 지식이 없어 일단 chatGPT 스승님께 질문!프로젝트 생성spring boot로 하려다가 스승님한테 물어보니 스프링부트 없이 java만을 사용하여 구현할 수 있다해서 java 프로젝트를 생성했다. 프로젝트 이름은 'cancelAlarm'으로 결..
자바의 신 직접해봅시다, 정리해봅시다 정리 (5장 ~ 6장)
·
공부/Java
자바의 신 세트 | 이상민 - 교보문고 자바의 신 세트 | 『자바의 신 세트』는 성능 전문가로 널리 알려진 저자가 십수 년의 자바 개발 경험을 바탕으로 현장에서 꼭 필요한 기초지식을 정리한 책이다. 현장 중심으로 자바의 기본서 product.kyobobook.co.kr 이전 글 자바의 신 직접해봅시다, 정리해봅시다 정리 (1장 ~ 4장) 자바의 신 세트 | 이상민 - 교보문고 자바의 신 세트 | 『자바의 신 세트』는 성능 전문가로 널리 알려진 저자가 십수 년의 자바 개발 경험을 바탕으로 현장에서 꼭 필요한 기초지식을 정리한 책 devhan.tistory.com 5장. 계산을 하고 싶어요 직접해봅시다. public class SalaryManager { // 월 급여 public double getMont..
자바의 신 직접해봅시다, 정리해봅시다 정리 (1장 ~ 4장)
·
공부/Java
자바의 신 세트 | 이상민 - 교보문고 자바의 신 세트 | 『자바의 신 세트』는 성능 전문가로 널리 알려진 저자가 십수 년의 자바 개발 경험을 바탕으로 현장에서 꼭 필요한 기초지식을 정리한 책이다. 현장 중심으로 자바의 기본서 product.kyobobook.co.kr 1장. 프로그래밍이란 무엇인가? 직접해봅시다. public class Calculator { public int subtract(int num1, int num2) { return num1 - num2; } public int multiply(int num1, int num2) { return num1 * num2; } public int divide(int num1, int num2) { return num1 / num2; } } 정리해..
스프링부트 3.X 스프링 시큐리티 JWT 토큰 기능 구현하기
·
공부/Spring
Spring Boot 3.0.2 version 기준입니다. (Spring Boot 3.1.0까지 실행 확인) 이전 글 아래 포스팅과 이어지는 글입니다. 스프링부트 3.X 스프링 시큐리티 사용해서 회원가입, 로그인, 로그아웃 구현하기 스프링 시큐리티? 스프링 시큐리티는 스프링 기반의 애플리케이션 보안(인증, 인가, 권한)을 담당하는 스프링 하위 프레임워크이다. 인증(Authentication)? 인증은 사용자의 신원을 입증하는 과정이 devhan.tistory.com JWT? JWT는 JSON Web Token의 줄임말이다. JWT는 토큰 기반 인증을 지원한다. 토큰 기반 인증은 말 그대로 토큰을 사용하는 방법인데, 토큰은 서버에서 클라이언트를 구분하기 위한 유일한 값이다. 서버에서 토큰을 생성해서 클라이..
JVM과 좀 친해져보자. JVM Architure
·
공부/Java
JVM이란? JVM은 Java를 공부했었던 사람이라면 뭔지 모를 수가 없는 존재일 것이다. JVM은 Java Virtual Machine으로 한국어로는 자바 가상 머신(기계)이다. 대부분 JVM을 들어 본 사람이라면 Java를 컴파일을 위해 사용하는 정도, 또 가비지 컬렉터(Garbage Collector)를 돌려주는 정도로만 알고 있을 것이다(나도 그렇다). 오늘 바로 이 JVM을 완전히 깊게는 아니고 조금 더 딥하게 파헤쳐 보자. 정확히 JVM이 하는 일이 뭐야? JVM이 하는 일은 놀랍게도 정답이 벌써 나왔다. 바로 Java Application을 컴퓨터에서 실행할 수 있도록, 즉 컴파일할 때 사용한다. JVM이 여타 다른 C 언어나 C++, Python과 다르게 좀 특이한 점은 온갖 해석 방법을 ..
토비의 스프링 부트 - 자동 구성 기반 애플리케이션_1
·
공부/Spring
메타 애노테이션과 합성 애노테이션 @UnitTest 애노테이션 생성 @Test 메서드가 붙어있는 simpleHelloService()의 애노테이션을 @UnitTest 애노테이션으로 변경해보자. 물론 새로 생성해줘야한다. @UnitTest void simpleHelloService() { SimpleHelloService helloService = new SimpleHelloService(); String ret = helloService.sayHello("Test"); Assertions.assertThat(ret).isEqualTo("Hello Test"); } @Test void helloDecorator() { HelloDecorator decorator = new HelloDecorator(nam..
[백준] 17298_오큰수 - JAVA
·
알고리즘/알고리즘 유형
백준_17298 17298번: 오큰수 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에 수열 A의 원소 A1, A2, ..., AN (1 ≤ Ai ≤ 1,000,000)이 주어진다. www.acmicpc.net 스택 참고 포스팅 [백준] 1874_스택 수열 - JAVA 백준_1874 1874번: 스택 수열 1부터 n까지에 수에 대해 차례로 [push, push, push, push, pop, pop, push, push, pop, push, push, pop, pop, pop, pop, pop] 연산을 수행하면 수열 [4, 3, 6, 8, 7, 5, 2, 1]을 얻을 수 있다. www.acmicpc. devhan.tistory.com 코드 import java.io..