코딩테스트/Programmers 37

[Programmers] 피자 나눠먹기(2) (최대공약수, 최소공배수)📌

내 풀이 일단 규칙을 찾으면서 n과 6의 최소공배수를 구해야 한다는 건 알아냈는데 ... 그걸 활용을 못했네 ㅎ break를 안적으면 왜 안되는건지 .... 다른 사람 풀이 유클리드 호제법 큰 숫자를 작은 숫자로 나누고, 그 나머지로 작은 숫자를 나누는 계산을 나머지가 0이 될 때까지 반복 // 최대공약수 public int GCD(int num1, int num2) { if (num1 % num2 == 0) { return num2; } return GCD(num2, num1 % num2); } // 최소공배수 public int LCM(int num1, int num2) { return num1 * num2 / GCD(num1, num2); }

[Programmers] 짝수는 싫어요 📌

1일 1코테 연습으로 목표를 변경합니다 ..... 분명히 쉬운 문제였는데 한 곳에서 생각이 막히니까 나아가기가 쉽지 않다 코드 (참고함요) 다른 사람 풀이 IntStream 클래스 : int를 요소로 갖는 스트림(컬렉션 요소를 람다식으로 처리할 수 있도록 도와줌) 처리 range(int start, int end) : start부터 end 미만의 정수 범위 생성 ( start expression : 인자(parameter)를 가지고 수행할 실행문(expression) toArrray() : 필터링된 값을 int 배열로 반환 난 언제쯤 내 스스로 저만큼 풀어낼 수 있을까 ㅠ

[Programmers] 나머지 구하기 ✔, 중앙값 구하기 📌, 최빈값 구하기 📌

나머지 구하기 내 코드 맞긴한데 ... 이게 맞나 ? 중앙값 구하기 코드 (참고함) * Arrays.sort(array) : 배열 정렬 * 배열은 0부터 시작하니까 배열길이/2를 하면 x번째 배열원소가 나옴 왜 이생각을 못했을까 최빈값 구하기 코드 (참고함) 배열 frequent : 빈도수를 저장하기 위한 배열 frequent[array[i]]++; array 배열의 각 요소값을 인덱스로 해서 해당 인덱스의 빈도수를 증가 !!! array[0]이 1이면 -> frequent[1] 에 1 추가 array[1]이 2이면 -> frequent[2] 에 1 추가 array[2]가 3이면 -> frequent[3] 에 1 추가 array[3]이 3이면 -> frequent[3] 에 1 추가 ... 그래서 freq..

[Programmers] 두 수의 나눗셈 ✔, 숫자 비교하기 ✔, 분수의 덧셈 📌, 배열 두 배 만들기 📌

두 수의 나눗셈 흠 근데 엄청 비효율적인가? 저 num 값의 범위는 신경 안써도 되는건가..? 숫자 비교하기 삼항연산자.......... 분수의 덧셈 2일차부터 막히다니 분자 : numer1*denom2 + numer2*denom1 분모 : denom1*denom2 내 풀이 (다른 사람 풀이 참고함ㅠ) 최대공약수 구하는 gcd(a,b) 함수(유클리드 호제법) 이용한 다른 사람 풀이 아직 잘 이해가 안간다.. 공부 필요 배열 두 배 만들기 내 풀이 향상된 for문 버전 분수의 덧셈, 배열 두배 만들기 어렵다 ㅠ

[Programmers] 두 수의 합 ✔, 두 수의 차 ✔, 두 수의 곱 ✔, 몫 구하기 ✔

두 수의 곱 첨에 이렇게 제출 정답은 맞지만 제한사항이 항상 찝찝했는데 다른 사람 풀이를 보니 이런 식으로 하는 거였군요 백준이랑 달라서 신기한 화면 오른쪽 아래에는 코드를 실행해볼 수도 있음 두 수의 합 두 수의 차 몫 구하기 ㅋㅋㅋ이런 것도 주네욤 쉬우니깐 재밌구만