문제를 풀면서 새롭게 알게 되거나, 자주 찾아보거나, 기억할 만한 내용 정리하기 (2024.10.15 ~ 추가중)collectionsCounterfrom collections import Counter 개수를 세주는 Dictionary 형태의 클래스이다. Counter(배열)Counter(["hi", "hey", "hi", "hi", "hello", "hey"])>>> Counter({'hi': 3, 'hey': 2, 'hello': 1}) 각 원소가 몇 번씩 나오는지가 저장된 객체를 반환한다. Counter(문자열)Counter("hello world")>>> Counter({'h': 1, 'e': 1, 'l': 3, 'o': 2, ' ': 1, 'w': 1, 'r': 1, 'd': 1}) 문자가 ..
전체 글

문제https://school.programmers.co.kr/learn/courses/30/lessons/138476 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 소요 시간 : 15분난이도 : LV 2접근 방법1. 종류별 개수를 센 뒤 많은 순으로 정렬한다.ex. 1, 3, 2, 5, 4, 2, 31: 1개4: 1개2: 2개3: 2개5: 2개=> [2, 2, 2, 1, 1] 2. 종류별 개수 리스트를 돌면서 k만큼 가져간다. ex. k = 62+2+2 => 3번째 원소까지 가져갈 수 있다.ex. k=42+2 => 2번째 원소까지 가져갈 수 있다.풀이나의 ..

프로세스서류 접수 기간 : 9/2 ~ 9/20 결과 발표 : 10/21차 코딩 테스트 : 10/5결과 발표 : 10/82차 코딩 테스트 : 10/13결과 발표 : 10/17 채용 공고저는 Backend Engineer로 지원하였습니다. 서류 자유양식 이력서와 포트폴리오(선택) 제출 가능합니다. 작성되어 있던 노션 이력서를 링크로 제출하였습니다. 1차 코딩 테스트방식온라인문항 : 3문제 (효율성 2문제, 정확성 1문제)시간 : 155분 플랫폼 : Codility응시 시 주의 사항 : 화상감독 X, 검색 불가, 외부 IDE 불가응시 가능 언어 : C, C++, C++20, C#, Dart, Go, Java11, Java8, JavaScript, Kotlin, Lua, Objective-C, Pascal,..
보호되어 있는 글입니다.

문제https://www.acmicpc.net/problem/2343 소요 시간 : 40분난이도 : 실버 1접근 방법 블루레이의 최소 길이를 구하기 위해 이분탐색을 이용한다. 1. left, right 값 초기화left 값 : 강의 길이 중 최댓값 -> 블루레이 개수 N개right 값 : 모든 강의 길이의 합 -> 블루레이 개수 1개 2. 체크강의를 돌면서 블루레이에 1개씩 강의 길이를 더해준다.초과되면 블루레이 개수를 1개 더하고 새 블루레이에 더해준다.블루레이 개수가 M보다 많아지면 중단한다. 3. 정답 갱신 및 이분탐색 범위 조정블루레이 개수가 M보다 크면 더 길게 담아도 되므로 left를 늘린다. 블루레이 개수가 M보다 작거나 같으면 더 작게 담아도 되므로 right를 줄인다. ex. N = ..

문제https://www.acmicpc.net/problem/2792 소요 시간 : 1시간난이도 : 실버 2접근 방법1차 (틀린 풀이)M을 N개로 나누는 과정이라고 생각을 해보았었다. ex. N = 5, M = 2 (7, 4)M = 2 -> 3개로 만들기 위해 가장 큰 수인 7을 반으로 나눈다. 7, 4 -> 3, 4, 4M = 3 -> 4개로 만들기 위해가장 큰 수인 4를 반으로 나눈다. 3, 4, 4 -> 3, 2, 2, 4M = 4 -> 5개로 만들기 위해가장 큰 수인 4를 반으로 나눈다. 3, 2, 2, 4 -> 3, 2, 2, 2, 2 이때 가장 큰 값(3)이 질투심이라고 생각했다.하지만 이 방법은 N값의 범위가 최대 10억이기 때문에 시간초과가 난다.2차 질투심에 초점을 맞추었다. 질투심이 ..

문제https://softeer.ai/practice/6293 Softeer - 현대자동차그룹 SW인재확보플랫폼 softeer.ai 소요 시간 : 1시간난이도 : LV 3접근 방법 1. 완전탐색1. 모든 돌에서 출발해본다.2. 출발한 돌에서 다음 큰 돌을 모두 방문해본다. -> 시간복잡도 : O(2^N) ..터지는게 당연했다^^ 2. DPdp[i] = i 돌까지 도달하는데 제일 많이 밟을 수 있는 징검다리의 수 dp[i] = dp[j] + 1 이라고 할 때 j의 조건 : 1. i보다 작아야 한다. (왼쪽 돌)2. i번째 돌보다 j번째 돌의 크기가 작아야 한다. 이를 만족하는 j 중에서도 dp[j]가 가장 큰 걸 선택하면 된다. -> 시간복잡도 : O(N^2)나의 풀이1. 완전탐색#include#d..

📚 KEYWORD DBDECIMAL, FLOAT, DOUBLE의 차이 [MySQL] 데이터 타입(data_type) 정리개요 MySQL 데이터 타입을 기록용으로 저장하기 위한 포스팅 공통 데이터 형식(M) : M 부동소수점 및 고정소수점 타입의 경우 정수타입의 최대 출력 폭을 나타낸다. ( 자릿 수 ) 문자형 타입의 경우spiderwebcoding.tistory.com datetime과 timestamp의 차이타임존 적용 여부 TIMESTAMP vs DATETIME (feat. ORM)공통점, 차이점, 그리고 ORM을 사용할 때의 주의점을 알아보자velog.io [TIL / 데이터 관리] MySQL TIMESTAMP vs DATETIMEData Logo한참 MySQL의 데이터 타입을 정리해 나가고..
문제 상황서버를 분리하게 되면서 DB도 함께 분리하게 되었다.이에 따라 각각의 멀티 모듈에 .env가 생겼고 이걸 적용시키고 싶었다..├── auth-server│ └── ...├── core│ └── ...├── resource-server│ ├── build.gradle│ ├── docker-compose.resource.yml│ ├── .env # 이 파일이 제대로 로드되지 않음│ └── src│ └── main│ └── resources│ └── application.yml└── settings.gradle 각 모듈의 application.yml 파일은 .env 파일에 정의된 환경 변수를 사용하여 설정을 구성하고 있었다...

0. 코딩 컨벤션이란?코딩 컨벤션은 읽고, 관리하기 쉬운 코드를 작성하기 위한 일종의 코딩 스타일 규약입니다.코딩 컨벤션을 준수하면 가독성이 좋아지고, 성능에 영향을 주거나 오류를 발생시키는 잠재적 위험 요소를 줄여줍니다. 특히 규모가 큰 프로젝트일수록 유지보수 비용을 줄이는 데 도움이 됩니다.이렇게 중요한 코딩 컨벤션을, 일일히 지키기엔 실수도 많고 번거롭습니다.이를 위해 IntelliJ에서 설정하여 저장만 하면 자동으로 준수하도록 구축할 수 있습니다! 1. 코딩 컨벤션 선정하기자바 코딩 컨벤션에는 주로 구글 코딩 컨벤션과 네이버 코딩 컨벤션이 존재합니다.네이버 : https://naver.github.io/hackday-conventions-java/구글(번역본) : https://github.co..