본문 바로가기
  • 기억의 유한함을 기록의 무한함으로✍️            예비 개발자가 꿈꾸는 공간 여기는 안나의 개발 블로그 💻

Algorithm45

99클럽 코테 스터디 7일차 TIL + [프로그래머스] 과제 진행하기 👩‍💻 코드import java.util.*;class Solution { static class Task { private String name; private int start; private int playtime; public Task(String name, int start, int playtime) { this.name = name; this.start = start; this.playtime = playtime; } public Task(String name, int playtime) { this.. 2024. 7. 28.
99클럽 코테 스터디 6일차 TIL + Arrays.sort/[프로그래머스] 테이블 해시 함수 💡문제[level 2] 테이블 해시 함수 - 147354문제 링크성능 요약메모리: 144 MB, 시간: 9.92 ms  🤔접근법문제 요약주어진 2차원 배열을 정해진 컬럼을 오름차순으로 행을 다시 정렬 (값이 같다면 첫번째 값을 기준으로 내림차순)i ~ j 행을 각 i 행으로 나눈 나머지들의 합을 구한후 그 합들을 XOR 연산 하여 나온 값을 출력범위 체크 및 시간복잡도 예상1 ≤ data의 길이 ≤ 2,5001 ≤ data의 원소의 길이 ≤ 5001 ≤ data[i][j] ≤ 1,000,000data[i][j]는 i + 1 번째 튜플의 j + 1 번째 컬럼의 값을 의미합니다. (주어진 입력값들은 모두 1부터 인덱스가 시작함으로 유의하자)1 ≤ col ≤ data의 원소의 길이1 ≤ row_begin .. 2024. 7. 27.
99클럽 코테 스터디 5일차 TIL + HashMap/[프로그래머스] 베스트앨범 💡문제[level 3] 베스트앨범 - 42579문제 링크성능 요약메모리: 76.4 MB, 시간: 4.64 ms 🤔접근법문제 요약복잡한 우선순위에 맞춰 정렬한 다음 조건에 맞게 노래 번호를 출력하는 문제우선순위 설명 (장르에 따른 우선순위 조건이 있고, 노래에 따른 우선순위 조건이 있다.)각 장르별로 재생 수를 합산하여 재생 수가 높은 순서대로 출력단, 각 장르별로 노래는 2개씩 출력한다. (만약 주어진 보기에 장르에 해당하는 노래가 한개라면 하나만 출력한다.)두 노래의 우선순위는 재생 수가 높은 것을 우선으로 출력, 단 재생수가 같다면 고유 번호가 낮은 순서로 출력 범위 체크 및 시간복잡도 예상1 ≤ 노래 곡 수 ≤ 10,000장르 종류는 100개 미만$O(노래곡수^2)$ 까지도 가능 풀이법⭕ 접근 .. 2024. 7. 27.
99클럽 코테 스터디 4일차 TIL + 문자열/[프로그래머스] 문자열 압축 💡문제[level 2] 문자열 압축 - 60057문제 링크성능 요약메모리: 82.9 MB, 시간: 31.44 m 🤔접근법문제 요약주어진 문자열을 규칙에 따라 압축했을 때 가장 짧은 문자열의 길이를 출력문자열을 1개 ~ n개 단위로 잘라서 제일 앞에서부터 부분문자열을 보는데 특정문자열이 반복되면 반복횟수+문자열 로 압축 가능하다ex) abcabc → 3abc , abcabcdede → 3abcdede (길이가 3으로 잘랐을때, de는 반복 되긴 하지만 길이가 3이 아니라 압축할 수 없다.)단 , 문자열은 제일 앞에서부터 정해진 길이로 자른다.범위 체크 및 시간복잡도 예상1 ≤ 주어지는 문자열의 길이 ≤ 1,000$O(N^2)$ 까지도 쌉가능시간복잡도가 null~null~한 아주 착한 문제풀이법⭕ 접근 .. 2024. 7. 25.
99클럽 코테 스터디 3일차 TIL + [프로그래머스] 숫자 문자열과 영단어 💡문제[level 1] 숫자 문자열과 영단어 - 81301문제 링크성능 요약메모리: 71.7 MB, 시간: 24.66 ms     🤔접근법문제 요약숫자와 영어로 된 숫자가 띄어쓰기 되지 않은 상태로 문자열로 주어진다.부분부분 영어로 되어 있는 숫자로 바꿔서 정수형으로 출력하라.범위 체크 및 시간복잡도 예상1 ≤ 주어지는 문자열의 길이 ≤ 50모든 문자열이 숫자라고 하더라도 50이므로 시간복잡도가 null~null~한 아주 착한 문제풀이법⭕ 접근 방법. 완탐주어진 문자열에서 1 ~ 9 까지 검색 , zero ~ nine 까지 검색만약 존재한다면 존재하는 문자열의 첫번째 인덱스을 반환받아 result 배열에 영문숫자와 치환되는 숫자를 기입중복되는 숫자가 존재할 수 있으므로 이미 검색된 문자열을 @로 치환.. 2024. 7. 24.
99클럽 코테 스터디 2일차 TIL + 유클리드호제법/GCD 💡문제[level 2] 숫자 카드 나누기 - 135807문제 링크성능 요약메모리: 124 MB, 시간: 34.15 ms 🤔접근법문제 요약배열 A의 정수들을 모두 나눌 수 있는 숫자 a는 배열 B의 정수를 하나도 나눌 수 없다.배열 B의 정수들을 모두 나눌 수 있는 숫자 b는 배열 A의 정수를 하나도 나눌 수 없다.숫자 a와 b중 큰거를 출력범위 체크 및 시간복잡도 예상1 ≤ 배열의 길이 ≤ 500,0001 ≤ 배열의 원소 ≤ 1,000,000O($N$) 이하.풀이법⭕ 접근 방법. 유클리드 호제법배열 A의 최대 공약수를 구한다.배열 B의 최대 공약수를 구한다.배열 A의 최대 공약수가 배열 B의 원소 중 하나라도 나눌 수 있는지 확인한다.배열 B의 최대 공약수가 배열 C의 원소 중 하나라도 나눌 수 있는.. 2024. 7. 23.
반응형