전체 글(64)
-
[프로그래머스/17677] [1차] 뉴스 클러스터링
https://school.programmers.co.kr/learn/courses/30/lessons/17677 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 자체는 단순 구현문제라 그리 어렵지 않았는데 집합의 특성상 어떤 데이터타입으로 구현하느냐에서 많이 헷갈렸다. 풀기전 아이디어 스케치 처음엔 집합이라 말그대로 Str1과 Str2을 HashSet을 사용해 풀려고했는데 다시 찬찬히 읽어보니 다중집합도 허용한대서 요소끼리 중복도 허용되는 데이터타입을 사용해야했다. 그래서 list를 사용해야하나?했으나 각각의 요소가 몇개 있는지 알아야한다는걸 이후 ..
2023.12.07 -
2023년도 회고, 그래서 앞으로 뭐하지?
정신차려보니 23년도의 끝에 있다. 2021년엔 부트캠프, 2022년엔 인턴생활로 굉장히 바쁘게 지낸듯한데 경험에 대한 자신이 생기고나니 굉장히 게을러졌다. 사실 게을러졌다곤해도, 올해 외주만 2개를 진행하고 틈틈히 부트캠프 매니저 알바도 했던 것 같은데 올해를 알차게 보냈냐하면 왜 그런지 자신이 없다. 사실 작년을 마무리하면서도 비슷한 감정을 느꼈다. 작년도 9월까지는 회사 인턴을 다니며 사이드프로젝트를 하고 간간히 게임개발도 배우고 학교 수업도 듣는(온라인이라 가능했음) 바쁜 스케쥴을 소화하며 살았다. 막상 인턴 기간이 끝나고 학교를 오프라인으로 다니자 무언가 맥이 탁 풀리면서 아무것도 안하기 시작했다. 한켠으론 내가 올해를 이렇게 달렸는데 남은 3개월을 왜 열심히 살아야하는 반항심이 있어서 그랬나보..
2023.12.07 -
[프로그래머스/17680] [1차] 캐시
https://school.programmers.co.kr/learn/courses/30/lessons/17680# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 컴퓨터 공학적인 문제처럼 보이지만 카카오는 코테에서 검색이 가능하기에 LRU알고리즘정도는 검색하고나서 구현하면 된다. 1트 검색이 가능하고, 순차적 저장이 가능한 데이터타입을 사용해야한다. 데이터 타입을 HashSet과 LinkedList중에 고민하였으나 HashSet은 삭제에서 비효율적일듯해 List로 결정 import java.util.*; class Solution { public int ..
2023.12.06 -
[프로그래머스/150370] 개인정보 수집 유효기간
https://school.programmers.co.kr/learn/courses/30/lessons/150370 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 이러한 Date처리 문자열문제인데 Date타입을 잘 안다뤄봐서 전부 String으로 잘라서 풀었다.. 여러분은 나처럼 무식하게 풀지 마시길.. PS) 잘못된 풀이인줄 알았는데 찾아보니 사람들 대부분 이렇게 풀었다.. import java.util.*; class Solution { public ArrayList solution(String today, String[] terms, Strin..
2023.12.04 -
알고리즘에서 쓰이는 자료구조(데이터타입)
자바 알고리즘에서 주로 쓰이는 데이터 타입들을 한번 정리하고 가기 위해.. 작성한 글이다. Tree나 Map과 HashTable의 경우 서로 겹치는 클래스들이 많다. (단순히 Map의 역할만하지않고 순서를 신경쓰는 Map의 경우 LinkedHashMap을 쓴다던가 서로의 역할이 겹치는 경우가 많음) 배열 (Array): 연속된 메모리 공간에 같은 데이터 타입의 원소를 저장. 인덱스를 통해 원소에 접근할 수 있으며, 원소의 삽입과 삭제가 비효율적인 편. 이전에 정리한 적 있음 https://lets-do-the-odessey.tistory.com/60 리스트 (List): 원소들을 순서대로 저장하는 자료구조로, 주요한 종류로는 ArrayList와 LinkedList. ArrayList는 배열 기반으로 동작..
2023.11.24 -
Java Array Sorting 정리
파이썬과 다르게 자바는 ArrayList같은것을 사용하지않으면 단순array에선 바로 sort하는 기능이 없고 util 라이브러리를 import해서 사용해야한다. 오늘은 내가 알고리즘 테스트를 준비하는 겸.. 기본 자료구조에 대해 정리해보고자한다. 1. int array 정렬 Arrays.sort()를 사용하지 않는 경우 이 경우 선택정렬의 알고리즘이기때문에 시간복잡도 O(n^2)이다. 이렇게 정렬했다가는 알고리즘테스트에서 폭망한다. int[] arr = {5, 3, 8, 2, 1, 4}; int n = arr.length; for (int i = 0; i arr[j + 1]) { //..
2023.11.18