목록Java (116)
Hayden's Archive
알고리즘 문제 출처 : programmers.co.kr/learn/courses/30/lessons/17682 코딩테스트 연습 - [1차] 다트 게임 programmers.co.kr 내가 작성한 코드 import java.util.ArrayList; import java.util.List; class Solution { public int solution(String dartResult) { int answer = 0; String[] score = dartResult.split(""); String tempStr = ""; List list = new ArrayList(); for(int i=0; i
알고리즘 문제 출처 : programmers.co.kr/learn/courses/30/lessons/12930 코딩테스트 연습 - 이상한 문자 만들기 문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 programmers.co.kr 내가 작성한 코드 문제를 특히나 잘 읽어야 하는 문제... 쉽다고 생각하고 자신있게 제출했는데 실패가 와장창 떠서 당황했었다. 반례를 잘 고려해야 한다. 각 단어는 "하나 이상의 공백문자"로 구분되어 있다. 그러므로 문자열의 앞, 뒤, 중간에 2개 이상의 공백문자가 들어간 경우를 고려해야 한다. 또한 그 공백문자 역시 그대로 출력해내야 한다..
알고리즘 문제 출처 : programmers.co.kr/learn/courses/30/lessons/12943 코딩테스트 연습 - 콜라츠 추측 1937년 Collatz란 사람에 의해 제기된 이 추측은, 주어진 수가 1이 될때까지 다음 작업을 반복하면, 모든 수를 1로 만들 수 있다는 추측입니다. 작업은 다음과 같습니다. 1-1. 입력된 수가 짝수라면 2 programmers.co.kr 내가 작성한 코드 굉장히 간단한 문제인데 습관처럼 정수를 int로 선언했다가 문제를 다시 읽고 수 범위를 확인한 후 long으로 바꿨다. public class Solution { public int solution(int num) { int answer = 0; long newNum = num; while(newNum !..
알고리즘 문제 출처 : programmers.co.kr/learn/courses/30/lessons/12915 코딩테스트 연습 - 문자열 내 마음대로 정렬하기 문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 [sun, bed, car]이고 n이 1이면 각 단어의 인덱스 1 programmers.co.kr 내가 작성한 코드 public class Solution { public String[] solution(String[] strings, int n) { for(int i=0; i
알고리즘 문제 출처 : programmers.co.kr/learn/courses/30/lessons/42889 코딩테스트 연습 - 실패율 실패율 슈퍼 게임 개발자 오렐리는 큰 고민에 빠졌다. 그녀가 만든 프랜즈 오천성이 대성공을 거뒀지만, 요즘 신규 사용자의 수가 급감한 것이다. 원인은 신규 사용자와 기존 사용자 사이에 스 programmers.co.kr 내가 작성한 코드 실컷 잘 풀어놓고 제출하는데 런타임 에러가 터졌다. 당황해서 다시 코드를 살펴보니 스테이지에 도달한 유저가 없는 경우 실패율(스테이지에 도달했으나 아직 클리어하지 못한 플레이어의 수 / 스테이지에 도달한 플레이어 수)에서 스테이지에 도달한 플레이어 수가 0이 되고 0이 분모가 되어버리는 것을 발견했다. 따라서 조건문으로 0이 아닌 경우..
알고리즘 문제 출처 : programmers.co.kr/learn/courses/30/lessons/68644 코딩테스트 연습 - 두 개 뽑아서 더하기 정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요. 제한 programmers.co.kr 내가 작성한 코드 public class Solution { public int[] solution(int[] numbers) { int maxSum = 200; int[] tempSumBox = new int[maxSum + 1]; //나올 수 있는 합은 0~200 int length = 0; for(i..
알고리즘 문제 출처 : programmers.co.kr/learn/courses/30/lessons/64061 코딩테스트 연습 - 크레인 인형뽑기 게임 [[0,0,0,0,0],[0,0,1,0,3],[0,2,5,0,1],[4,2,4,4,2],[3,5,1,3,1]] [1,5,3,5,1,2,1,4] 4 programmers.co.kr 내가 작성한 코드 import java.util.Stack; class Solution { public int solution(int[][] board, int[] moves) { int answer = 0; Stack pickedBox = new Stack(); for(int i=0; i
요즘 사용자 정보를 가져와서 로그를 남기는 작업을 하고 있다. 거의 모든 로그를 남기다 보니 사용자 아이피, 현재 시간, 사용자 아이디를 계속해서 가져와야 할 일이 생겼다. 아무래도 계속해서 공통적으로 쓰이는 코드라면 모듈화하는 것이 좋다. 따라서 프로젝트 내에 ClientInfo.java라는 클래스를 따로 만들었고, Bean으로 사용할 수 있도록 @Component로 어노테이션을 붙여줬다. 전체 코드 : github.com/devyeony/smart-data-tracing-management/blob/main/src/main/java/kr/com/inspect/util/ClientInfo.java devyeony/smart-data-tracing-management Contribute to devyeo..
참고 : 책 - 코드로 배우는 스프링 웹 프로젝트 ( book.naver.com/bookdb/book_detail.nhn?bid=13993776 ) 카페 - 구멍가게코딩단( cafe.naver.com/gugucoding ) codevang.tistory.com/266 Spring Security 설명 거의 대부분 웹 기반 프로젝트에서 사용자의 권한이나 등급에 기반을 두는 로그인 체크를 이용 스프링 시큐리티를 이용하면 다음과 같은 작업들을 간편히 처리할 수 있음 로그인 처리와 CSRF 토큰 처리 암호화 처리 자동 로그인 JSP에서의 로그인 처리 스프링 시큐리티의 기본 동작 방식 : 서블릿의 여러 종류의 필터(Filter)와 인터셉터(Interceptor)를 이용해서 처리 필터는 서블릿에서 말하는 단순한 필..
getDB()로 몽고DB에 문서를 삽입하는 실습을 했다. 결과는 성공적이었지만 getDB()가 사용이 지양되는(deprecated) 메소드였다. (database, col 변수에는 각각 몽고DB의 database, collection 이름으로 미리 할당해뒀다.) public void testMongoInsert() { @SuppressWarnings("deprecation") DB DB = mongoClient.getDB(database); DBCollection collection = DB.getCollection(col); String json = "{'name' : 'elsa'," + "'age' : '20'," + "'family' : {'person1' : 'anna', 'person2' : '..