본문 바로가기

전체 글59

[프로그래머스/1829] 카카오프렌즈 컬러링북 https://school.programmers.co.kr/learn/courses/30/lessons/1829 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 위 문제는 이전에 풀었던 문제와 유사하다(https://lets-do-the-odessey.tistory.com/57) 이러한 문제의 경우 외워뒀던 bfs를 기계적으로 입력한 뒤 문제에 맞춰 코드를 수정하면 된다 토대가 되는 BFS 코드 기본적인 로직에 대해 설명하자면 LinkedList를 사용해 내가 방문할 노드를 큐에 등록한다 맨처음엔 탐색 대상으로 메소드에 주어진 y,x를 등록 그 다음 whi.. 2023. 12. 14.
[프로그래머스/17677] [1차] 뉴스 클러스터링 https://school.programmers.co.kr/learn/courses/30/lessons/17677 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 자체는 단순 구현문제라 그리 어렵지 않았는데 집합의 특성상 어떤 데이터타입으로 구현하느냐에서 많이 헷갈렸다. 풀기전 아이디어 스케치 처음엔 집합이라 말그대로 Str1과 Str2을 HashSet을 사용해 풀려고했는데 다시 찬찬히 읽어보니 다중집합도 허용한대서 요소끼리 중복도 허용되는 데이터타입을 사용해야했다. 그래서 list를 사용해야하나?했으나 각각의 요소가 몇개 있는지 알아야한다는걸 이후 .. 2023. 12. 7.
2023년도 회고, 그래서 앞으로 뭐하지? 정신차려보니 23년도의 끝에 있다. 2021년엔 부트캠프, 2022년엔 인턴생활로 굉장히 바쁘게 지낸듯한데 경험에 대한 자신이 생기고나니 굉장히 게을러졌다. 사실 게을러졌다곤해도, 올해 외주만 2개를 진행하고 틈틈히 부트캠프 매니저 알바도 했던 것 같은데 올해를 알차게 보냈냐하면 왜 그런지 자신이 없다. 사실 작년을 마무리하면서도 비슷한 감정을 느꼈다. 작년도 9월까지는 회사 인턴을 다니며 사이드프로젝트를 하고 간간히 게임개발도 배우고 학교 수업도 듣는(온라인이라 가능했음) 바쁜 스케쥴을 소화하며 살았다. 막상 인턴 기간이 끝나고 학교를 오프라인으로 다니자 무언가 맥이 탁 풀리면서 아무것도 안하기 시작했다. 한켠으론 내가 올해를 이렇게 달렸는데 남은 3개월을 왜 열심히 살아야하는 반항심이 있어서 그랬나보.. 2023. 12. 7.
[프로그래머스/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. 6.
[프로그래머스/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. 4.
알고리즘에서 쓰이는 자료구조(데이터타입) 자바 알고리즘에서 주로 쓰이는 데이터 타입들을 한번 정리하고 가기 위해.. 작성한 글이다. Tree나 Map과 HashTable의 경우 서로 겹치는 클래스들이 많다. (단순히 Map의 역할만하지않고 순서를 신경쓰는 Map의 경우 LinkedHashMap을 쓴다던가 서로의 역할이 겹치는 경우가 많음) 배열 (Array): 연속된 메모리 공간에 같은 데이터 타입의 원소를 저장. 인덱스를 통해 원소에 접근할 수 있으며, 원소의 삽입과 삭제가 비효율적인 편. 이전에 정리한 적 있음 https://lets-do-the-odessey.tistory.com/60 리스트 (List): 원소들을 순서대로 저장하는 자료구조로, 주요한 종류로는 ArrayList와 LinkedList. ArrayList는 배열 기반으로 동작.. 2023. 11. 24.