[2021-09-10] 복서 정렬하기
·
코딩테스트
푼 시간 : 2시간 30분 언어 : 자바 https://programmers.co.kr/learn/courses/30/lessons/85002?language=java 코딩테스트 연습 - 6주차 복서 선수들의 몸무게 weights와, 복서 선수들의 전적을 나타내는 head2head가 매개변수로 주어집니다. 복서 선수들의 번호를 다음과 같은 순서로 정렬한 후 return 하도록 solution 함수를 완성해주세요 programmers.co.kr 정렬인데, 단순한 정렬같은 느낌이 아니었다... 완전탐색을 보는듯한 풀이법.. 코드를 더 효율적으로 쓰고싶다...ㅜㅜ 주어진 조건대로 풀이를 하고나서 처음에는 테스트케이스가 맞아서 기뻐했는데 제출을 해보니 안맞는것이었다. 조건 몇가지를 내 맘대로 생각해서 질질 끌고..
[2021-07-25] 기능개발 (lv2)
·
코딩테스트
푼 시간 : 50분 언어 : 자바 https://programmers.co.kr/learn/courses/30/lessons/42586 코딩테스트 연습 - 기능개발 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 programmers.co.kr 스택 큐 활용해야되서 했는데, 오히려 다른데서 함정에 빠져버렸다. 작업량이 끝내려니까 자꾸 하나가 안더해져서 계속 골치였는데, 그냥 잠깐 노래듣다보니 마지막에 더하면 되는데 왜 굳이 못 더할까? 이런 생각이 들었다. 끝에 바로 더해버렸다. def solution(progresses, speeds): answer = [] ..
[2021-07-13] 예산
·
코딩테스트
푼 시간 : 5분 언어 : 자바 https://programmers.co.kr/learn/courses/30/lessons/12982 코딩테스트 연습 - 예산 S사에서는 각 부서에 필요한 물품을 지원해 주기 위해 부서별로 물품을 구매하는데 필요한 금액을 조사했습니다. 그러나, 전체 예산이 정해져 있기 때문에 모든 부서의 물품을 구매해 줄 수는 programmers.co.kr 탐욕법이라고 생각했지만 그냥 쉽게 생각했다. 어차피 모든 부서가 작은값부터 들어가야 최대가 될수 있기에 그냥 다른거 안 넣었다.. 지문 참 어렵게 풀어 쓴 거 같다. import java.util.*; class Solution { public int solution(int[] d, int budget) { int answer = 0..
[2021-07-12] 숫자 문자열과 영단어
·
코딩테스트
푼 시간 : 30분 언어 : 자바 https://programmers.co.kr/learn/courses/30/lessons/81301 코딩테스트 연습 - 숫자 문자열과 영단어 네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다. 다음은 숫자의 일부 자 programmers.co.kr 조건 하나를 잘못 줘서 계속 고민했다. 문자열 핸들링에 좀 능숙해졌다고 느낀것이 mapping개념으로? 풀었는지는 몰라도 mapping변수를 만들어, 매핑시키듯이 문제를 풀었다. class Solution { public int solution(String s) { String answer = ""; // 일부러 St..
[2021-06-15] 내적
·
코딩테스트
푼 시간 : 5분 언어 : 자바 https://programmers.co.kr/learn/courses/30/lessons/70128 코딩테스트 연습 - 내적 길이가 같은 두 1차원 정수 배열 a, b가 매개변수로 주어집니다. a와 b의 내적을 return 하도록 solution 함수를 완성해주세요. 이때, a와 b의 내적은 a[0]*b[0] + a[1]*b[1] + ... + a[n-1]*b[n-1] 입니다. (n은 a, b의 programmers.co.kr 내적 이란 말은 아직도 모르지만 그냥 풀었다.. 볼게 별로 없는 문제 왜 처음에 answer에 123456789가 들어가있는지 모르겠다. class Solution { public int solution(int[] a, int[] b) { int ..
[2021-06-13] 로또의 최고 순위와 최저 순위
·
코딩테스트
푼 시간 : 15분 언어 : 자바 https://programmers.co.kr/learn/courses/30/lessons/77484 코딩테스트 연습 - 로또의 최고 순위와 최저 순위 로또 6/45(이하 '로또'로 표기)는 1부터 45까지의 숫자 중 6개를 찍어서 맞히는 대표적인 복권입니다. 아래는 로또의 순위를 정하는 방식입니다. 1 순위 당첨 내용 1 6개 번호가 모두 일치 2 5개 번호 programmers.co.kr temp를 써서 자연수를 넣어줬다. 전에 본적있는 방식이라 해봤는데 배열쓰기 참 편해서 좋은거 같다. 마지막에 count가 temp를 초과할것이 분명해서 고민하다가 어차피 0도 6등이기에 그냥 6을 하나 더 넣어줬다. import java.util.*; class Solution {..
[2021-06-11] 시저 암호
·
코딩테스트
푼 시간 : 20분 언어 : 자바 https://programmers.co.kr/learn/courses/30/lessons/12926 코딩테스트 연습 - 시저 암호 어떤 문장의 각 알파벳을 일정한 거리만큼 밀어서 다른 알파벳으로 바꾸는 암호화 방식을 시저 암호라고 합니다. 예를 들어 "AB"는 1만큼 밀면 "BC"가 되고, 3만큼 밀면 "DE"가 됩니다. "z"는 1만큼 밀 programmers.co.kr 문자열 핸들링.. 대경권 코딩테스트에서 한번 나왔을때 멍청하게 풀어서 풀지도 못하고 시간만 날렸는데, 이번에는 그냥 풀어버리자!라는 생각으로 풀어버리려 했으나 은근히 오래걸렸다. 이 그냥 처음부터 Z에 대한걸 걸어버렸으면 되는거였는데 왜 접근법이 항상 이런지 모르겠다. 다른분들 코드를 보고나니 좀 코..
[2021-06-10] 124나라의 숫자 (lv2)
·
코딩테스트
푼 시간 : 3시간(못 풀었음) 언어 : 자바 https://programmers.co.kr/learn/courses/30/lessons/12899 코딩테스트 연습 - 124 나라의 숫자 programmers.co.kr 푸느라 머리가 깨질뻔 했는데, 결국엔 풀지는 못 했다. 애초부터 접근방식이 잘못 된 건가 싶은데 맞는 것 같다. 알고리즘이라는게 기본적으로 어떤식으로 탐색해야 할지 컴퓨터한테 알려주는 과정인 것 같은 느낌이 자꾸 드는데 나는 그 능력이 부족한 것 같다. 풀지는 못했고, 구글링을 통해 이해하고 글을 남긴다. class Solution { public String solution(int n) { String[] num = {"4","1","2"}; // 배열에 미리 4, 1, 2를 넣어놓는다..
[2021-05-28] 폰켓몬
·
코딩테스트
푼 시간 : 10분 언어 : 자바 https://programmers.co.kr/learn/courses/30/lessons/1845 이름은 엄청나게 어려울 것 같았는데.. 생각보다 신경써야 할 조건이 없어서 편안했다. 별로 다른건 없고 혹시라도 반보다 커지면 뭐 더 할 것 없이 /2를 넣었다. import java.util.*; class Solution { public int solution(int[] nums) { int answer = 1; Arrays.sort(nums); // 정렬해서 귀찮은 연산을 줄임 for(int i=0; inums.length/2 ? nums.length/2 : answer; // 혹시 전체/2보다 크면 nums.length리턴, 작으면 answer리턴 } }
[2021-05-27] 두 개 뽑아서 더하기
·
코딩테스트
푼 시간 : 30분 언어 : 자바 https://programmers.co.kr/learn/courses/30/lessons/68644 문제를 처음에 풀 때는 고민을 엄청 했다. 중복을 잡아야 한다는 생각이 좀 크지만, 뭔가 해쉬맵을 쓰지 않고 푸는법은 없을까 고민을 많이 했는데 쓸데없이 배열을 하나 더 만들거나 메모리 낭비만 할것같아, 그냥 해쉬맵으로 풀었다. Iterator객체로 만들고 순서를 매기는건 정말 편한 것 같다. import java.util.*; class Solution { public int[] solution(int[] numbers) { int[] answer; HashMap map=new HashMap(); // 해쉬맵은 중복이 안된다. for(int i=0; i