전체 글142 [Java] 프로그래머스 : 완주하지 못한 선수(Hash) https://programmers.co.kr/learn/courses/30/lessons/42576 코딩테스트 연습 - 완주하지 못한 선수 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수 programmers.co.kr HashMap · 데이터 관리/유지 자료구조 · Map 인터페이스를 구현한 대표적인 Map 컬렉션 · ArrayList는 내부 인덱스를 이용하여 한번에 검색이 되기에 빠른 속도를 보장하나 데이터 추가/삭제시 데이터가 밀려 많은 시간이 소요되므로 이를 극복하기 위해 제시된 방법이 Hash · Hash는 내부적으로 배열을 사용하여 데이터를 저장하.. 2022. 6. 24. [Java] 프로그래머스 : 큰 수 만들기(StringBuilder 사용) https://programmers.co.kr/learn/courses/30/lessons/42883 코딩테스트 연습 - 큰 수 만들기 programmers.co.kr StringBuilder : 문자열을 더해주는 클래스 · "문자열" + "문자열"도 가능하지만 메모리 할당, 해제를 발생시키며 성능적으로 좋지 않음 · String과 문자열을 더할 때 새로운 객체를 생성하는 것이 아니라 기존의 데이터에 더하는 방식을 사용하기 때문에 속도도 빠르며 상대적으로 부하가 적다 StringBuilder sb = new StringBuilder(); //StringBuilder에선 append속성을 통해 문자열을 더해준다. sb.append("안녕").append("하세요"); ArrayList list = new .. 2022. 6. 21. [Java] 프로그래머스 : 체육복(Greedy Algorithm) https://programmers.co.kr/learn/courses/30/lessons/42862 코딩테스트 연습 - 체육복 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번 programmers.co.kr Greedy Algorithm(탐욕 알고리즘) : 매 선택에서 현재 당장 최적의 답을 선택(선택했을 경우 다른 가능성을 검증하지 않음) 결과적으로 최고의 선택이지 않을 수 있으나 빠르고 간결한 알고르즘이다. * 동전 문제(최소갯수의 거스름돈 동전을 받아야함) 1. 1200원을 동전 500원, 100원, 10원으로 나눌땐 500원 * 2개, 100원 * 2개 로 최.. 2022. 6. 21. [Java] 프로그래머스 : 주식가격(Stack 사용) https://programmers.co.kr/learn/courses/30/lessons/42584 코딩테스트 연습 - 주식가격 초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 return 하도록 solution 함수를 완성하세요. 제한사항 prices의 각 가격은 1 이상 10,00 programmers.co.kr Stack(자료구조) Priority Queue와 반대로 Last In First Out(LIFO) 나중에 들어간 데이터가 먼저 나오는 형식 import java.util.Stack; Stack stack = new Stack(); stack.push(value) : value값을 추가 stack.pop() : 가장 위쪽.. 2022. 6. 21. [Java] 프로그래머스 : 타겟 넘버(DFS 사용) https://programmers.co.kr/learn/courses/30/lessons/43165 코딩테스트 연습 - 타겟 넘버 n개의 음이 아닌 정수들이 있습니다. 이 정수들을 순서를 바꾸지 않고 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 programmers.co.kr DFS(Depth-first-search) : 깊이 우선 탐색 알고리즘 각 정점 노드(숫자 지점)를 깊게 탐색하는 방식으로 stack을 쌓으면서 갈 수 있는 최대한 깊이 탐색 더 이상 탐색할 곳이 없으면 이전 정점으로 돌아가 방문하지 않은 정점으로 향하는 간선을 따라 이동 ① 우선순위가 높은 곳(작은 수)으로 먼저 이동 ② 더이상 이동할 .. 2022. 6. 20. [Java] 프로그래머스 : 수박수박수박수박수박수?(while 사용) https://programmers.co.kr/learn/courses/30/lessons/12922 코딩테스트 연습 - 수박수박수박수박수박수? 길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩니다. 제한 programmers.co.kr While( i < 10){ sum = sum + i; i++; } System.out.println(sum); i가 10이 될때까지 1씩 증가하면서 sum함수에 i씩 더하기! sum은 45를 출력(10보다 작은수를 조건으로 걸었으므로) 문제 class Solution { public String solution(int n).. 2022. 6. 20. [Java] 프로그래머스: 2016(switch사용) https://programmers.co.kr/learn/courses/30/lessons/12901 코딩테스트 연습 - 2016년 2016년 1월 1일은 금요일입니다. 2016년 a월 b일은 무슨 요일일까요? 두 수 a ,b를 입력받아 2016년 a월 b일이 무슨 요일인지 리턴하는 함수, solution을 완성하세요. 요일의 이름은 일요일부터 토요일까 programmers.co.kr 내가 사용한 switch문은 다른 블로그의 풀이보다 길다... int a=0; String fruit= ""; switch(a){ case 1: fruit= "바나나"; break; case 2: fruit= "딸기"; break; case 3: fruit= "사과"; break; default: fruit= "귤"; br.. 2022. 6. 17. [Java] 프로그래머스: 가운데 글자 가져오기(substring사용) https://programmers.co.kr/learn/courses/30/lessons/12903 코딩테스트 연습 - 가운데 글자 가져오기 단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다. 재한사항 s는 길이가 1 이상, 100이하인 스트링입니다. 입출력 예 s ret programmers.co.kr substring 문자열에서 원하는 위치의 문자 추출 str.substring(시작 위치, 끝 위치) ex_ str문자열의 4번째부터 6번째 문자열 추출 str.substring(3, 6); 시작 위치는 index이기 때문에 0부터 시작함으로 원하는 문자가 4번째라면 시작 위치는 3을 입력 끝나는 위치는 3자리만큼 추출하고.. 2022. 6. 17. [Java] 프로그래머스: 예산(Arrays.sort사용) https://programmers.co.kr/learn/courses/30/lessons/12982 코딩테스트 연습 - 예산 S사에서는 각 부서에 필요한 물품을 지원해 주기 위해 부서별로 물품을 구매하는데 필요한 금액을 조사했습니다. 그러나, 전체 예산이 정해져 있기 때문에 모든 부서의 물품을 구매해 줄 수는 programmers.co.kr Arrays.sort Arrays.sort(arr) : 배열 정렬(오름차순) Arrays.sort(arr, collections.rsverse()) : 내림차순 import java.util.Arrays; class Solution { public int solution(int[] d, int budget) { int answer = 0; // 올림차순으로 정렬 A.. 2022. 6. 16. 이전 1 2 3 4 5 6 7 ··· 16 다음