본문 바로가기

전체 글

(187)
신규 아이디 추천 https://programmers.co.kr/learn/courses/30/lessons/72410 코딩테스트 연습 - 신규 아이디 추천 카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로 programmers.co.kr 뭔 놈의 조건이 이리 많은지.. 이 문제 하나 푸는데 40분정도 걸렸던것 같다.. package question; public class RecomIdQuesition { public static void main(String [] args) { System.out.println(solution("...!@BaT#*..y.abcdefghijklm")); ..
k 번째 수 https://programmers.co.kr/learn/courses/30/lessons/42748 코딩테스트 연습 - K번째수 [1, 5, 2, 6, 3, 7, 4] [[2, 5, 3], [4, 4, 1], [1, 7, 3]] [5, 6, 3] programmers.co.kr 문제가 직관적이어서 어렵지 않게 풀었다. 알고리즘 문제가 모두 이 문제처럼 직관적이면 다 어렵지 않게 풀 수 있을텐데... package question; import java.util.Arrays; public class KSortQuestion { public static void main(String [] args) { int [] array = {1, 5, 2, 6, 3, 7, 4}; int [][] commands = ..
완주하지 못한 선수 https://programmers.co.kr/learn/courses/30/lessons/42576 코딩테스트 연습 - 완주하지 못한 선수 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수 programmers.co.kr 문제 처음 보자마자 아 이거 5분컷 가능 ㅇㅇ 이랬다가 효율성 검사에서 막히고 좌절했음.. 첫 번째 코드 public static String solution(String[] participant, String[] completion) { String result=""; Loop1 : for(int i = 0; i
뉴스 클러스터링 https://programmers.co.kr/learn/courses/30/lessons/17677?language=java 코딩테스트 연습 - [1차] 뉴스 클러스터링 뉴스 클러스터링 여러 언론사에서 쏟아지는 뉴스, 특히 속보성 뉴스를 보면 비슷비슷한 제목의 기사가 많아 정작 필요한 기사를 찾기가 어렵다. Daum 뉴스의 개발 업무를 맡게 된 신입사원 튜브 programmers.co.kr 중복 집합을 구현해내는 것이 포인트 문제 설명에 짜잘한 조건들이 붙어 있어서 시간이 좀 걸렸다. (소문자 통일, 데이터는 영어로만 구성, 0 / 0이 null이 아니라는 것) 다시 느끼는거지만 IDE 없이 코딩테스트 보라고 하면 떨어질것같다.. 갓디버거.. import java.util.*; import java.u..
크레인 인형뽑기 게임 https://programmers.co.kr/learn/courses/30/lessons/64061?language=java 코딩테스트 연습 - 크레인 인형뽑기 게임 [[0,0,0,0,0],[0,0,1,0,3],[0,2,5,0,1],[4,2,4,4,2],[3,5,1,3,1]] [1,5,3,5,1,2,1,4] 4 programmers.co.kr 1. 첫번째 풀이 import java.util.ArrayList; class Solution { public int solution(int[][] board, int[] moves) { int answer = 0; ArrayList arr = new ArrayList(); int n = board[0].length; for(int i = 0; i < moves...
합집합, 교집합, 차집합 ArrayList로 구현해보기 알고리즘 문제를 풀다보면 집합 관련된 문제들을 꽤 자주 만나게 된다. 자주 사용하는 집합들을 따로 정리해놓으려고 한다. package set; import java.util.*; public class SetExample { public static void main(String [] args) { ArrayList arr1 = new ArrayList(); ArrayList arr2 = new ArrayList(5); for (int i = 0; i= 5) { arr2.add(String.valueOf(i+2)); } } System.out.println("arr1 : " + arr1); System.out.println("arr2 : " + arr2); System.out.println("------..
Java로 자료구조(LinkedList, Stack, Queue) 구현해보기 알고리즘 공부에 앞서서 기본기를 다진다는 느낌으로 자료구조를 직접 구현해보려고 한다. 언어는 자바로 구현할 것이며 내부함수들을 참고하여 만들어 보도록 하겠다. 크게 세가지의 자료구조를 구현해볼 것이고, 다른 자료구조도 필요성을 느끼게 된다면 나중에 추가하도록 하겠다. 1. LinkedList 핵심적인 메서드들만 추려서 구현해보았다. package linked; abstract class AbstractLinked { abstract void clear(); abstract void add(Object element); abstract void add(int position, Object element); abstract void addFirst(Object element); abstract void ad..
삽입, 선택, 버블 정렬 삽입 정렬(Insertion Sort) - 가장 간단한 정렬 방식으로 이미 순서화된 파일에 새로운 하나의 레코드를 순서에 맞게 삽입시켜 정렬한다. - 두 번째 키와 첫 번째 키를 비교해 순서대로 나열하고 이어서 세번째 앞의 n-1개의 키와 비교하여 알맞은 순서에 삽입하여 정렬하는 방식이다. - 평균과 최악 모두 수행 시간 복잡도는 O(n²)이다. 데이터 : 8 5 6 2 4 1회차 : 5 8 6 2 4 2회차 : 5 6 8 2 4 3회차 : 2 5 6 8 4 4회차 : 2 4 5 6 8 public class SortExample { public static void main(String [] args) { String strQuestion = "85624"; System.out.println("결과 :..