전체 글

뭐 그렇게 됐다
코딩테스트

[MySQL] 없어진 기록 찾기

난이도: Lv. 3문제: https://school.programmers.co.kr/learn/courses/30/lessons/59042 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 코드두 SQL문 모두 정답이다.SELECT A.ANIMAL_ID, A.NAMEFROM ANIMAL_OUTS ALEFT OUTER JOIN ANIMAL_INS BON A.ANIMAL_ID = B.ANIMAL_IDWHERE B.ANIMAL_ID IS NULLORDER BY A.ANIMAL_ID ASC;SELECT B.ANIMAL_ID, B.NAMEFROM ANIMAL_INS ARIGHT OUTER JOIN ANIMAL_OUTS B..

코딩테스트

[Python] 가장 많이 받은 선물

난이도: Lv. 1정답률: 30%문제: https://school.programmers.co.kr/learn/courses/30/lessons/258712 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 알고리즘Key: 사람 이름, Value: 인덱스 값을 가지는 Dictionary를 생성한다.파라미터로 주어진 gifts가 사람 이름으로 되어 있기 때문에 주고 받은 선물 수 계산할 때 인덱스로 사용하기 위해 생성한다.주고 받은 선물 수를 계산하여 2차원 배열로 저장한다.입출력 예에 나와있는 방식과 같이 row는 준 사람을 나타내고, column은 받은 사람을 나타낸다.2에서 구한 2차원 배열을 이용하여 모든 ..

코딩테스트

[Python] 택배 상자 꺼내기

난이도: Lv. 1정답률: 36%문제: https://school.programmers.co.kr/learn/courses/30/lessons/389478 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 알고리즘파라미터로 주어진 num 상자의 열 번호를 찾는다. 이때 열 번호가 1 ~ w 사이의 값을 갖도록 한다.이 열 번호는 row가 홀수면 왼쪽부터, 짝수면 오른쪽부터 카운팅 한다.일반화 식은 num % w (단, 나머지가 0일 경우에 열 번호는 w)반복문을 돌며 num 상자의 윗 상자 번호와 윗 상자의 열 번호를 계산한다.윗 상자 번호의 일반화 식은 num + 2 * (w - col) + 1윗 상자 열 번호..

코딩테스트

[Python] [PCCE 기출문제] 10번 / 공원

난이도: Lv. 1정답률: 45%문제: https://school.programmers.co.kr/learn/courses/30/lessons/340198 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 알고리즘1. park[i][j] 위치가 점거되어 있는지 확인2. 현재 위치를 기준으로 아래 사진과 같이 오른쪽과 아래로 한 줄씩 늘려가며 깔 수 있는 제일 큰 돗자리 크기 구하기 (아래 코드에서 checkIsBlank 함수에 해당)3. 2에서 구한 결과를 이용하여 파라미터로 주어진 돗자리(mats) 중 공원에 깔 수 있는 가장 큰 돗자리 구하기 코드def checkIsBlank(rowNum, colNum, pa..

웹 프로그래밍

[NestJS] 프로젝트 생성 & 인터페이스

프로젝트 생성 및 실행NestJS 서버 구성NestJS 서버 구성을 위해 nestjs cli를 설치한다. 지금부터 사용할 모든 nest 관련 명령어를 실행할 수 있게 해주는 역할을 한다.npm i -g @nestjs/cli내가 관리하지 못할 패키지가 전역으로 설치되어 있는 것을 싫어하는 편이라 웬만하면 패키지는 전역으로 설치 안 하는데, 이거 전역으로 설치 안 하면 vscode에서 cmd 터미널을 따로 켜서 해야 되길래 귀찮아서 전역으로 설치했다. (vscode 기본 터미널은 powershell) 글로벌 환경으로 설치된 패키지는 아래 명령어로 확인할 수 있다.npm root -g 프로젝트 생성nest new [프로젝트 이름]위의 명령어를 터미널에서 실행하면 npm, yarn, pnpm을 선택하라고 하는데..

코딩테스트

[Python] 유연근무제

난이도: Lv. 1정답률: 50%문제: https://school.programmers.co.kr/learn/courses/30/lessons/388351 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 알고리즘1. 직원들 개개인의 출근 인정시간 계산(출근 희망 시각 + 10분)2. 지각 여부 확인2-1. 시작 요일에서 시작 요일 + 6까지 검사하면 일주일이다. 이 값을 7로 나머지 연산 했을 때의 결과는 0(일), 1(월), 2(화) ... 순서2-2. 따라서 나머지가 6(토요일), 0(일요일)이면 주말이므로 이때는 지각 여부 체크 X2-3. 출석 인정 날짜가 주말 제외 5일인 경우 상품 수령 가능 코드de..

코딩테스트

[Python] 문제풀이 모음

숫자 문자열과 영단어난이도: Lv. 1정답률: 73%문제: https://school.programmers.co.kr/learn/courses/30/lessons/81301 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 코드def solution(s): answer = '' answer = s.replace('one', '1') answer = answer.replace('two', '2') answer = answer.replace('three', '3') answer = answer.replace('four', '4') answer = answer.replace('five',..

웹 프로그래밍

[Spring Boot] Licruit - 단방향 관계 매핑, 토큰 재발급

회원 - 업종 단방향 관계 매핑auto incresemental id 컬럼을 추가했다. 사업자번호를 기본키로 쓰는 것보다 이게 왜 나은 지는 아직도 납득 못하겠지만 보통 이렇게 한다고 하니까 고쳤다.사용자를 조회할 때는 업종을 조회하는 경우가 있지만 업종을 조회할 때는 사용자를 조회하는 경우가 없다. 따라서 단방향 매핑만 해도 된다고 생각한다. // ...public class UserEntity { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "id") private int userId; @Column(name = "company_number", unique = true, length = 10)..

웹 프로그래밍

[Spring Boot] Licruit - 로그인

JWTbuild.gradle버전 안 적어도 된다고 분명 누가 그랬었는데.... 안 적으니까 에러가 나서 적어줬다.dependencies { // ... implementation 'io.jsonwebtoken:jjwt-api:0.11.5' implementation 'io.jsonwebtoken:jjwt-impl:0.11.5' implementation 'io.jsonwebtoken:jjwt-jackson:0.11.5'} application.propertiesjwt 관련 환경변수 정의하기#jwtspring.jwt.accessTokenExpireTime=3600000spring.jwt.refreshTokenExpireTime=1296000000spring.jwt.secret=bGljcnVpdC1iYWNr..

웹 프로그래밍

[Spring Boot] Licruit - 에러 처리

ResponseSuccessResponseexpress에서 end()와 같은 것이라고 생각하고 있다. 파라미터로 String message를 받으면 모든 Success 응답에서 메시지를 적어줘야 하는데 그래야 할 이유가 없는 것 같아서 파라미터를 받지 않기로 했다.public record SuccessResponse() { } UserController회원가입이 정상적으로 이루어졌으면 201을 반환한다. body는 {} 이렇게 응답을 보낸다.@RestController@RequestMapping("/users")@RequiredArgsConstructorpublic class UserController { private final UserService userService; @PostMappi..

미안하다 강림이 좀 늦었다
어제 내 스택이 무너졌어