https://programmers.co.kr/learn/courses/30/lessons/12899 코딩테스트 연습 - 124 나라의 숫자 programmers.co.kr [풀이] 구현 관련한 문제였습니다. 처음에는 배열을 사용하지 않고 단순하게 while 반복문 안에서 식을 전개하였는데 이는 효율성에서 점수를 얻지 못했습니다. 그렇기에 배열에 4,2,1을 초기화 한 후, 이 배열의 값을 answer 변수에 추가하는 식으로 변경했습니다. 1,2,4 3개의 숫자를 이용하기 때문에 3으로 나눈 후, 나머지가 0일 경우에는 4를 넣는 식으로 진행해야 합니다. [코드] public String solution(int n) { String answer = ""; int temp; while (n > 0) { t..
https://www.acmicpc.net/problem/1527 1527번: 금민수의 개수 첫째 줄에 A와 B가 주어진다. A는 1보다 크거나 같고, 1,000,000,000보다 작거나 같은 자연수이다. B는 A보다 크거나 같고, 1,000,000,000보다 작거나 같은 자연수이다. www.acmicpc.net [풀이] 기본적으로 반복문을 하면, 메모리 초과가 발생합니다. 그렇기에 저는 재귀적인 방법을 이용해서 문제를 접근했습니다. 4와 7이 있는 숫자는 4와 7에 10을 곱한후 각 숫자를 더한 값을 확인해야 합니다. 입력 숫자가 범위가 크기에 long형으로 선언했습니다. [코드] import java.io.BufferedReader; import java.io.IOException; import ja..
| 0920 [공부한 내용] 이전 과제 PR 피드백 반영 코테 공부 백준 18290번 백준 16938번 백준 5347번 이것이 코딩테스트다 정렬 파트 기출문제 [하루 정리] 오늘은 하반기 채용일정을 확인하고, 주로 코테 공부에 힘을 썼다. 이전에 작성했던 코테 문제도 다시 풀고, 골드 유형의 문제도 건드려봤다. 다음주면 새로운 팀원들과 함께 공부를 할건데 설렘 반 걱정 반인데.. 뭐 걱정한다고 달라질 것도 아니고, 지금까지 다들 좋은 분들이 있었으니까 새로 만나는 팀원들도 좋지 않을까?! 싶다. 추석주간이기에 집중력이 떨어질 수도 있을 것 같아 보다 효율적으로 시간을 활용하고 싶어, 장소를 변경하면서 공부할 계획이다! 이번주도 열심히! - 어제, 오랜만에 만난 친구에게 고등학교 친구가 토스에 입사한 소식..
https://www.acmicpc.net/problem/18290 18290번: NM과 K (1) 크기가 N×M인 격자판의 각 칸에 정수가 하나씩 들어있다. 이 격자판에서 칸 K개를 선택할 것이고, 선택한 칸에 들어있는 수를 모두 더한 값의 최댓값을 구하려고 한다. 단, 선택한 두 칸이 인접 www.acmicpc.net [풀이] 백트래킹 및 DFS를 이용하여 풀었습니다. answer 변수는 주어지는 배열의 값이 음수가 입력될 수 있으므로 Integer.MIN_VALUE를 이용했습니다. check() 메소드에서, 이동하는 위치의 값이 인접한 곳일 경우(상하좌우), boolean 값을 false로 반환하여 이동하지 못하도록 했습니다. 재귀형식의 메소드 실행 횟수가 K 변수와 같아진다면 answer 변수의 ..
https://www.acmicpc.net/problem/16938 16938번: 캠프 준비 난이도가 10, 30인 문제를 고르거나, 20, 30인 문제를 고르면 된다. www.acmicpc.net [풀이] 조합론, 그리고 브루트포스 유형의 문제입니다. 캠프에 사용할 문제를 고르는 방법 수는 nC2 + nC3 + nC4 + --- + nCn 이렇게됩니다. 이렇게 조합되는 경우를 문제에 맞게 확인해야합니다. 합이 L보다 크거나 같고, R보다 작거나 같아야 합니다. 가장 어려운 문제와 가장 쉬운 문제의 난이도 차이는 X보다 크거나 같아야 합니다. 이렇게 조합을 이용해서 문제를 푸는 경우가 처음이라 조합을 익히는데 좋은 문제라고 생각합니다.(저도 추후 다시 풀 예정!) [코드] import java.io.Bu..
https://www.acmicpc.net/problem/5347 5347번: LCM 첫째 줄에 테스트 케이스의 개수 n이 주어진다. 다음 n개 줄에는 a와 b가 주어진다. a와 b사이에는 공백이 하나 이상 있다. 두 수는 백만보다 작거나 같은 자연수이다. www.acmicpc.net [풀이] 최소공배수는 a * b / 최대공약수 인 점을 이용했습니다. 주어지는 수는 모두 백만보다 작거나 같아 int형으로 표현 가능하지만, 최소공배수의 경우에는 int형의 범위를 벗어나서 long형으로 표현해야 합니다. 이 long , int 형에 대한 주의를 한다면 풀 수 있습니다. 저 또한 이 부분을 놓쳐서, 처음에 틀렸습니다. [코드] import java.io.BufferedReader; import java.io..