본문 바로가기

프로그래머스7

프로그래머스 코딩 테스트 연습 _ 모의고사_JAVA 문제는 다음과 같다. programmers.co.kr/learn/courses/30/lessons/42840 코딩테스트 연습 - 모의고사 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 programmers.co.kr 오래간만에 자바 공부를 다시 시작하려니 조금 힘들었던 것 같다. 함수를 잘 활용해야 하는데 우선은 내가 기억하는 것들을 사용해서 풀어보자는 마인드로 주먹구구식이지만 열심히 풀어보았다. 각각의 조건에 대해 다른 사람들은 내장된 함수를 잘 활용한 것 같은데 나는 일단 수학적 사고를 동반하여 반복문과 조건문, if / switch를 활용해서 푼 다음 Array.. 2021. 1. 14.
프로그래머스_월간 챌린지 코드 시즌1_ 두개 뽑아서 더하기_Python, JS 어제 자바로 풀었던 문제를 파이썬과 자바 스크립트로 다시 풀어보았다. Python 파이썬의 경우에는 나는 자바와 같은 방식으로 풀었다. 나는 이렇게 풀었는데 정말 자바와 똑같이 풀어 설명할 것도 없다. 그래서 다른 사람들의 코드를 봤는데 어떤 사람은 answer를 set을 사용하여 중복값을 배제하는 식으로 풀었고, (배열에 set을 쓰면 해당 배열의 중복된 값을 제거한다.) 어떤 사람은 combination이라는 함수를 가져와 풀었다. 역시 대단한 사람들이 많아 보인다. combination은 조합이 배열과 조합의 개수를 지정해주면 해당 배열에서 지정된 개수로 조합이 가능한 배열 들을 재구성해준다. 그것을 이용해 더하고, 그것을 set적용을 하여 중복값을 배제하는 방식이었다. wikidocs.net/16.. 2020. 12. 30.
프로그래머스_월간 챌린지 코드 시즌1_ 두개 뽑아서 더하기_Java programmers.co.kr/learn/courses/30/lessons/68644 코딩테스트 연습 - 두 개 뽑아서 더하기 정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요. 제한 programmers.co.kr 위의 문제를 풀어보았다. 나의 풀이는 이러했는데 ArrayList를 활용하여 더한 값을 추가하는 식으로 한 다음 조건을 활용하여 중복 값을 제외해 보았다. 다른 사람의 문제풀이를 보았을 때 Map을 이용해서 푸는 것을 보았는데 중복 값을 못 넣는다는 점을 이용하여 풀어낸 것이 정말 참신했다. 2020. 12. 28.
프로그래머스 인형뽑기 _ JS, Python 어제 Java로 풀어본 인형 뽑기 테스트를 Python과 JavaScript로 다시 한번 풀어 보았다. 푸는 방법은 대체로 비슷하게 풀었고, 각 언어에 맞는 메소드를 찾아서 사용했다. JavaScript 푸는 방식은 같았다. JavaScript에서는 배열에서 맨 마지막 자리를 지우는 메서드인 pop()를 사용해보았다. Python Python역시 푸는 방법은 같았고, 각각에 맞는 함수를 사용해서 해결해 보았다. java에서는 배열의 인덱스 값에 -(마이너스) 값이 들어가지 않았지만, python과 javascript는 음수를 넣어 지워보았다. 2020. 12. 27.
프로그래머스 코딩 테스트 연습_ 인형 뽑기 게임 _Java programmers.co.kr/learn/courses/30/lessons/64061 코딩테스트 연습 - 크레인 인형뽑기 게임 [[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 위의 문제에 대해 자바로 풀어보았다. 나는 이렇게 ArrayList를 활용해서 풀어보았다. 2차원 배열에서 주어진 값과 1차 배열에서의 순서를 토대로 각각의 원소를 가져와서 ArrayList에 넣은 뒤 앞의 숫자와 일치할 경우 삭제하는 식으로 구성을 해보았다. 다른 사람들의 해결법을 보면 Stack을 활용해서 풀어내는 것도 볼 수 있었는데 Stack함수를 써본 적이 없어 정확히는 잘 모르겠다. 오늘도 .. 2020. 12. 26.
프로그래머스 해쉬 1번 문항_ Java, Python, JavaScript 참가자 전원 배열과 목적지에 도착한 인원이 적힌 배열 두 개를 받아서 완주하지 못한 1명을 찾아내는 문제이다. Java 해쉬맵을 이용해서 문제를 푸는 것이 가장 베스트일 것이다. 하지만 나는 해쉬 맵을 생각하지 못했고, 따라서 두 배열을 정렬하여 각 위치를 비교하는 식으로 풀었다. 나름 열심히 풀었지만, 해쉬 맵으로 깔끔하게 풀어내는 것을 보고, 아직 많이 부족함을 느꼈다. JavaScript 자바스크립트 경우에는 맵을 이용하기보단 sort가 있기에 위에서 처럼 정렬을 하고 비교하는 것이 더 빨랐을 듯하다. 맵을 써야겠다는 강박에 의해 더 안 좋은 코드가 된 것 같지만 자바 스크립트에서 써보지 않은 맵을 이용하려고 찾아보고 공부하면서 코딩을 했던 것은 정말 큰 도움이 된 것 같다. Python 파이썬을 .. 2020. 12. 25.