일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 깃허브
- HashSet
- 브랜치
- stringbuffer
- github
- git
- entity
- Python
- 프로그래머스
- Codeup
- 기본생성자
- 상속
- 코드업
- @AllArgsConstructor
- 에러
- 자바
- 부트캠프
- 부스트코스
- @builder
- 캡슐화
- HTML
- SQL
- html tag
- 알고리즘
- 파이썬
- java
- @NoArgsConstructor
- CRUD
- DTO
- lv1
- Today
- Total
목록알고리즘_Algorism (37)
잉?
그동안 알고리즘 문제 풀이 사이트에서 단순히 감으로 문제를 풀곤 했다. 그러나 시간이 지나고 나서야 이러한 방식으로는 실력을 향상할 수 없다는 것을 깨달았다. 이제는 체계적으로 문제를 해결하고자 한다.우선, 코딩 테스트에서 중요한 시간 복잡도와 공간 복잡도를 고려하기 전에, 다양한 알고리즘의 종류를 먼저 이해하고 그런 다음, 문제를 풀고 나서 내가 작성한 풀이의 시간 복잡도를 분석하며 개선점을 찾아가는 방식으로 학습을 진행할 계획이다. 이렇게 체계적인 접근을 통해 깊이 있는 문제 해결 능력을 키우고자 한다.출처 : 리트코드 정렬정렬은 점수, 학번과 같은 항목의 대소 관계에 따라 나열하는 작업이다.즉, 핵심 항목들을 체계적으로 정리하는 과정이다. 안정 정렬정렬 전 동일한 키값에 한해서 정렬 후에도 키값이 ..
프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr첫 번째 풀이 - [19.56ms - 28.69ms]Calendar 인스턴스 생성set()을 이용하여 구하고자 하는 년, 월, 일 입력getDisplayName로 요일을 텍스트로 리턴두 번째 풀이 - [0.02ms - 0.07ms]dat배열에 요일, date배열에 달의 수를 입력구하고자 하는 요일까지 더한 후 7일로 나눈 나머지 리턴첫 번째 풀이 코드public String solution(int a, int b) { // Calendar 인스턴스 생성 Calendar calendar = Calendar..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 첫 번째 풀이 점수 합계를 담을 answer []를 만들어 준다. photo의 길이 만큼 for문을 돌린다. photo [i]의 길이만큼 for문을 돌린다. name의 배열과 photo의[][j]값이 같다면 합계에 점수 추가. 두 번째 풀이 점수 합계를 담을 answer[]를 만들어 준다. HashMap을 사용하여 key, value를 지정해 준다. for문을 통해 HashMap에 값을 넣어준다. photo의 길이만큼 for문을 돌린다. photo[i]의 값들을 하나씩 반환하여 사진 속 인물과 비교한다. 만약..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 로직 빈병 n개 % 줘야 할 빈병 a 빈병 n개 / 줘야할 빈병 a * 돌려주는 병 b 빈병 n개 = 1번 + 2번 만약 빈병(n) < 줘야 할 빈병(a)? break 실패한 풀이 public int solution(int a, int b, int n) { int answer = 0; while(true){ if(n < a) break; answer += division(a, n); n = division(a, n) + rest(a, n); } return answer; } public int divis..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 첫 번째 풀이 food의 index값이 1, 짝수, 홀수 일 때를 나눠서 비교한다. 해당 조건에 적합하면 Integer.toString을 통해 int형을 String형으로 변경해 주고 값을 넣어준다. 위의 answer값을 for문을 통해 내림차순으로 값을 넣어준다. 두번째 풀이 StringBuilder를 선언한다. 이중 for문을 통해 해당 값을 builder에 추가해 준다. reverse() 메서드를 통해 반대되는 순서도 추가해 준다. 실패 풀이 코드 public String solution(int[] fo..
이번에도 두 가지 방법으로 풀었다. 하나는 TreeSet을 사용하고, 다른 하나는 HashSet을 사용했다. [TreeSet] public int[] solution(int[] numbers) { // TreeSet은 중복X, 기본 오름차순 TreeSet hapList = new TreeSet(); for(int i=0; i int 변환 int[] answer = new int[arr.size()]; for(int i=0; i
문제설명 문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 ["sun", "bed", "car"]이고 n이 1이면 각 단어의 인덱스 1의 문자 "u", "e", "a"로 strings를 정렬합니다. 제한 조건 strings는 길이 1 이상, 50 이하인 배열입니다. strings의 원소는 소문자 알파벳으로 이루어져 있습니다. strings의 원소는 길이 1 이상, 100이하인 문자열입니다. 모든 strings의 원소의 길이는 n보다 큽니다. 인덱스 1의 문자가 같은 문자열이 여럿 일 경우, 사전순으로 앞선 문자열이 앞쪽에 위치합니다. 입출력 예 strings n return ["sun", "b..