알고리즘

    [프로그래머스]신규 아이디 추천 - Java

    [프로그래머스]신규 아이디 추천 - Java

    문제 https://programmers.co.kr/learn/courses/30/lessons/72410 코딩테스트 연습 - 신규 아이디 추천 카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로 programmers.co.kr 풀이 쉬운 문제임 그냥 문제에서 하라는 대로 하면 됨! 문자열 다루기에 익숙해지고 싶다면 좋은 문제일 것 같음! subString(), toLowerCase(), replace(), valueOf(), contains() 등의 문자열 관련 메서드를 알아두자! 자세한건 주석으로! 코드 // 코딩 테스트 연습 - 2021 KAKAO BLIND RECRU..

    [프로그래머스]메뉴 리뉴얼 - Java

    [프로그래머스]메뉴 리뉴얼 - Java

    문제 https://programmers.co.kr/learn/courses/30/lessons/72411 코딩테스트 연습 - 메뉴 리뉴얼 레스토랑을 운영하던 스카피는 코로나19로 인한 불경기를 극복하고자 메뉴를 새로 구성하려고 고민하고 있습니다. 기존에는 단품으로만 제공하던 메뉴를 조합해서 코스요리 형태로 재구성해서 programmers.co.kr 풀이 https://www.youtube.com/watch?v=Jb34jY91450 못 풀어서 이 영상을 참고해서 풀었음 ㅠㅠ 다음에 한번 더 풀어봐야 겠음 ! combination을 해야함 combination하기 전에 정렬 필수 자세한건 주석으로! 코드 // 코딩테스트 연습 - 2021 KAKAO BLIND RECRUITMENT - 메뉴 리뉴얼 // ht..

    [프로그래머스]다리를 지나는 트럭 - Java

    [프로그래머스]다리를 지나는 트럭 - Java

    문제 https://programmers.co.kr/learn/courses/30/lessons/42583 코딩테스트 연습 - 다리를 지나는 트럭 트럭 여러 대가 강을 가로지르는 일차선 다리를 정해진 순으로 건너려 합니다. 모든 트럭이 다리를 건너려면 최소 몇 초가 걸리는지 알아내야 합니다. 다리에는 트럭이 최대 bridge_length대 올라갈 programmers.co.kr 풀이 트럭의 무게와 트럭이 다리 위에 올라간 후 경과한 시간(초)를 멤버 변수로 갖는Truck이라는 클래스를 만들고, Queue bridge = new LinkedList(); Queue trucks = new LinkedList(); Truck 객체를 갖는 큐를 2개 만들어서 필요한 애들을 꺼내서 쓰고 비교하고 암튼 그렇게 하려..

    [프로그래머스]오픈채팅방 - Java

    [프로그래머스]오픈채팅방 - Java

    문제 https://programmers.co.kr/learn/courses/30/lessons/42888 코딩테스트 연습 - 오픈채팅방 오픈채팅방 카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있는데, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있다. 신입사원인 김크루는 카카오톡 오 programmers.co.kr 풀이 HashMap을 사용해서 풀었음! 처음 채팅방에 들어오는 애는 put으로 추가 닉네임 바꾸는 애는 put으로 바꾸기 Enter랑 Leave인 애들 아이디 ArrayList에 저장해 놨다가 아이디 꺼내서 그 아이디에 맞는 닉네임 HashMap에서 찾아서 닉네임 반환해주기! 자세한건 주석으로! 코드 // 코딩테스트 연습 - 2019 KAKAO BLIND ..

    [프로그래머스]카카오프렌즈 컬러링북 - Java

    [프로그래머스]카카오프렌즈 컬러링북 - Java

    문제 https://programmers.co.kr/learn/courses/30/lessons/1829 코딩테스트 연습 - 카카오프렌즈 컬러링북 6 4 [[1, 1, 1, 0], [1, 2, 2, 0], [1, 0, 0, 1], [0, 0, 0, 1], [0, 0, 0, 3], [0, 0, 0, 3]] [4, 5] programmers.co.kr 풀이 백준으로 많이 풀어본 유형이긴 한데 별 생각없이 귀찮은 변수나 배열 등을 걍 다 static으로 때려박아서 결코 좋은 풀이는 아닌 것 같다 ,,, ㅎㅎㅎ 그리고 다 풀고 테케까지 다 맞았는데 틀리다고 나와서 질문하기 게시판 보니까 static 애들은 solution() 함수 안에서 초기화 해줘야 한다고 하더라??? 왜 그런지는 모름 암튼 그렇다고 함 ㅋㅋ..

    [프로그래머스]뉴스 클러스터링 - Java

    [프로그래머스]뉴스 클러스터링 - Java

    문제 https://programmers.co.kr/learn/courses/30/lessons/17677 코딩테스트 연습 - [1차] 뉴스 클러스터링 뉴스 클러스터링 여러 언론사에서 쏟아지는 뉴스, 특히 속보성 뉴스를 보면 비슷비슷한 제목의 기사가 많아 정작 필요한 기사를 찾기가 어렵다. Daum 뉴스의 개발 업무를 맡게 된 신입사원 튜브 programmers.co.kr 풀이 처음에 집합, 그니까 HashSet으로 문제를 풀려고 했는데 HashSet은 중복을 허용하지 않기 때문에 {aa, aa, aa}인 집합이 {aa}가 되어 버린다. 그래서 합집합, 교집합을 구하는데에 불편하다고 생각되어서 중간에 그냥 ArrayList로 바꿔서 풀었다. 처음에 toLowerCase()나 toUpperCase()로 문..

    [백준]11000번 강의실 배정 - Java

    [백준]11000번 강의실 배정 - Java

    문제 https://www.acmicpc.net/problem/11000 11000번: 강의실 배정 첫 번째 줄에 N이 주어진다. (1 ≤ N ≤ 200,000) 이후 N개의 줄에 Si, Ti가 주어진다. (0 ≤ Si { // (o1, o2): 오름차순으로 정렬한다 if (o1[0] == o2[0]) { return Integer.compare(o1[1], o..

    [프로그래머스]완주하지 못한 선수 - Java

    [프로그래머스]완주하지 못한 선수 - Java

    문제 https://programmers.co.kr/learn/courses/30/lessons/42576 코딩테스트 연습 - 완주하지 못한 선수 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수 programmers.co.kr 풀이 해시 문제라고 써있어서 그냥 해쉬로 쉽게 풀었다. 이제 // hashMap에 사람 추가 // 동명이인이 있을 수도 있으니 이미 있는 사람이면 원래 값에 +1 for (String name : participant) { hashMap.put(name, hashMap.getOrDefault(name, 0) + 1); } getOrDef..