전체 글 51

[프로그래머스] 구명보트 (JAVA)

https://school.programmers.co.kr/learn/courses/30/lessons/42885 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr  다양한 몸무게를 가진 사람들과 무게제한이 있는 한 대의 구명보트가 있다.구명보트를 이용해 최소한의 이동으로 모든 사람의 이동을 해야하는 문제다. 구명보트에는 두명까지 한번에 탑승할 수 있지만 무게제한을 넘어서는 안된다.무게제한이 100kg인 보트라면 60kg, 40kg인 사람들 두명이 한번에 탈 수 있다. // 프로그래머스 구명보트// 무게 제한이 있는 보트를 최소한의 이동으로 사람들을 모두 옮겨야 함// people -> 사람들의 몸무게가 ..

프로그래머스 2025.01.25

[프로그래머스] 이진 변환 반복하기 (JAVA)

https://school.programmers.co.kr/learn/courses/30/lessons/70129?language=java 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr  이진 변환법을 이용한 문제다.주어진 문자열 x에 대하여 1. x의 모든 0을 제거한다.2. 0을 제거한 문자열 x를 2진법으로 변환한다. 예로 x = "01110101"이 주어졌다고 치자0 제거 -> 1111이진변환 -> 100 이런 과정을 계속 거치게 된다.이 과정은 1이 남을 때까지 반복해 이진 변환의 횟수와 제거된 0의 개수를 반환한다.  // 프로그래머스 이진 변환 반복하기// 0 제거 후 남은 1의 길이 ->..

프로그래머스 2025.01.25

[프로그래머스] 2016년 (JAVA)

https://school.programmers.co.kr/learn/courses/30/lessons/12901 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr하... 너무너무 귀찮아서 포스팅을 미뤘다...그렇다고 문제를 안풀고 그냥저냥 방구석에서 굴러다닌 건 아니다. 풀어둔 문제로 앨범 두개 뚝딱 나올거 같다.이제 밀린 포스팅 시작합니다연, 월, 일 을 받아서 요일을 반환하는 문제다. 이 문제를 읽어보니 영화 썸머워즈가 생각난다.주인공이 여주의 태어난 날의 요일을 맞추는 장면이 영화 초반에 등장한다. 나는 이 문제를 풀기 위해 요일 계산법을 찾아보았다.https://blog.naver.com/akdl..

프로그래머스 2025.01.25

[프로그래머스] 덧칠하기 (JAVA)

https://school.programmers.co.kr/learn/courses/30/lessons/161989 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 정해진 구역을 다시 브러쉬로 칠해야 한다. 근데 최소한의 브러쉬질로 칠해야 한단다.n -> 페인트가 칠해져야 하는 구역m -> 브러쉬가 한 번에 칠할 수 있는 길이section -> n의 길이 중 다시 칠해야 하는 곳이 담긴 배열 만약 section에 2, 3, 6이 있고 브러쉬가 한번에 칠할 수있는 길이가 4라면한번 칠할 때 2, 3, 4, 5 칠하고두번째 칠할 때 6부터 칠할 수 있으니까2번만에 브러쉬질을 마무리지을 수 있는 것이다. 좀 ..

프로그래머스 2024.12.28

[프로그래머스] 추억 점수 (JAVA)

https://school.programmers.co.kr/learn/courses/30/lessons/176963 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 사진 안에는 여러명의 사람들이 있다.그리고 그 사람들의 이름이 들어있는 배열과 사람에 대한 추억 점수가 들어있는 배열이 매개변수로 받게 된다.또 매개변수로 하나 더 받아오는데 사진 여러장에 각각 있는 사람의 이름이 있는 이차원 배열이다. 만약 [may], [5], [may, tan] 이렇게 받아오면 최종 추억 점수는 5점인 셈이다얼마전 푼 문제에서 HashMap을 사용해서 이번에도 사용해보았다.key에는 사람의 이름, value에는 그 사람에..

프로그래머스 2024.12.28

[프로그래머스] 달리기 경주 (JAVA)

https://school.programmers.co.kr/learn/courses/30/lessons/178871 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr달리기 경주를 하는 중인데 선수가 앞선 선수를 추월할 때마다 심판이 추월한 선수의 이름을 불러준다초기 위치의 선수 이름과 심판이 부른 선수 이름 배열이 매개변수로 주어지고,최종 선수들의 위치를 배열로 반환하면 된다. 처음에는 추월해서 선수의 위치가 변경될 때마다 등수 조회를 했는데 이렇게 하면 너무 느려서 시간 초과가 나온다;;; 그래서 HashMap을 이용해서 선수명을 key, 등수를 value로 넣어놓고선수의 이름이 나올 때마다 map에서 ..

프로그래머스 2024.12.28

[프로그래머스] [PCCE 기출문제] 9번 / 지폐 접기 (JAVA)

https://school.programmers.co.kr/learn/courses/30/lessons/340199 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제 자체는 어렵지 않다 지갑에 지폐가 들어갈 때까지 가로 세로 반으로 접어서 접는 회수를 반환하면 됨접었을 때 소수점이 생긴다면 버린다접을 때는 긴 쪽으로만 접어서 메소드를 만들어줬다 무조건 큰 수가 0번 항으로 오게끔지폐는 90도 돌려서 들어갈 수도 있다 근데 테스트 케이스가 1번만 빼고 다 되는겨 그래서 질문하기에 나랑 같은 사람이 있었다알고보니까 지폐를 안접는 경우를 생각을 안했던 것이었음~// 프로그래머스 지폐 접기// 지폐마다 여러번..

프로그래머스 2024.12.23

[프로그래머스] [PCCP 기출문제] 1번 / 동영상 재생기 (JAVA)

https://school.programmers.co.kr/learn/courses/30/lessons/340213 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr  테스트 케이스가 제대로 안돼있어서 좀 헤멨다;;; 제대로좀 써놓지 씹련들;;그래서 질문목록도 찾아보고 테스트 케이스를 좀 더 찾아봤다 문제 설명동영상 재생기가 있는데 앞뒤 10초 이동 가능하다오프닝은 알아서 건너뛰어진다00:00 이하, 동영상의 최대 길이 이상은 갈 수 없다오프닝 시작시간 ~ 오프닝 종료시간 사이에 가면 오프닝 종료시간으로 간다 만약 현재 위치가 오프닝 사이고 next를 입력받으면?오프닝 종료시간 + 10을 반환한다 // 프..

프로그래머스 2024.12.22

[프로그래머스] [PCCP 기출문제] 1번 / 붕대 감기 (JAVA)

https://school.programmers.co.kr/learn/courses/30/lessons/250137 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr  오랜만의 코딩 테스트 포스팅입니다옛날에 아는 형님이 추천해준 문제인데 귀차나가지고... 안풀다가 딱 생각이 나서 풀어봤읍니다...재밌고 난이도도 적당하다고 했는데 ㄹㅇ 재밌는 문제긴 함장문의 문제이긴 하지만 술술 읽힙니다 문제를 설명드리자면 게임에서 붕대를 감아서 몬스터에게 까인 피를 채울 수 있습니다붕대는 초당 피가 차고 주어진 시전 시간을 다 채우면 추가 회복 효과도 있습니다 개혜자네요반환은 캐릭터의 최종 체력이고 중간에 맞아 죽으면 -..

프로그래머스 2024.12.22

스프링 시큐리티 + jwt 토큰

팀 프로젝트를 진행 중에 로그인 방식에서 스프링 시큐리티와 jwt 토큰을 이용해서 사용자 인증 방식을 해보았다.근데 너무 어렵다 이거;; 뭐만 하면 Token error, Token denied래;;그래서 인증 방식부터 공부한 내용을 정리해보았다 발급 과정클라이언트에서 로그인 시도서버에서 검증 과정을 거쳐 유효하면 Access Token + Refresh Token 발급클라이언트는 발급받은 Access Token을 이용하여 API 요청재발급 과정 Access Token인증된 사용자가 특정 리소스에 접근할 때 사용되는 토큰클라이언트는 Access Token을 이용해 인증된 사용자의 신원을 확인유효 기간이 지나면 만료(서버에서 유효기간을 지정해줌)만료된 경우 재발급을 위해 Refresh Token을 사용Re..

자바 2024.11.29