- 배수 -> 나머지 연산을 떠올린 나, 칭찬해~- 수학적 사고에 한 틈 담궜구나~ Q. 정수 num과 n이 매개 변수로 주어질 때, num이 n의 배수이면 1을 return n의 배수가 아니라면 0을 return[Java]return num % n == 0 ? 1 : 0; [Python]return int(not(num % n))num%n은 int 값이지만, 이를 not() 함수 안에 넣으면 int가 bool로 해석되어서 num%n이 0이면 False로, 0이 아니면 True로 해석됩니다 return int(num % n == 0) return 1 if num % n == 0 else 0
[Java]int ab = Integer.parseInt("" + a + b);int ab2 = 2 * a * b; return Math.max(ab, ab2);"" + a + b와 같은 문자열 결합 방식은 String.valueOf(a) + b보다 명확성이 떨어질 수 있습니다. return Math.max( (int)Math.pow(10, (int)Math.log10(b) + 1) * a + b, 2 * a * b); 로그와 거듭제곱을 사용Math.pow와 Math.log10를 사용하여 a를 b보다 큰 자릿수로 이동시키는 방식큰 숫자나 특수한 경우에서 Math.pow와 Math.log10의 정확성 문제가 있을 수 있습니다.예를 들어, 부동소수점 연산의 정밀도 문제가 발생할 수 있습니다.문..
- 숫자를 문자열로 형변환 해서 더하기 --> 형변환을 꼭 하지 않아도 "" 와 같이 더하면 됨!- 크기 비교할 때 if 만 떠올렸는데, Math.max() 함수를 쓸 수 있었음. 수학적 사고 필요함~~- 간단한 비교문은 삼항연산자를 떠올리자~ [Java] String strA = String.valueOf(a);String strB = String.valueOf(b); int ab = Integer.parseInt(strA + strB);int ba = Integer.parseInt(strB + strA); if (ba > ab) return ba;else return ab;문자열 변환, 결합, 정수 변환이 단계별로 분리되어 있어 디버깅이 용이합니다.중간 변수 선언과 여러 메..
- 파이썬은 정말 미친 언어같다- repeat() 이란 심플하고 강력한 메서드에 대해 알게 되었다. [Java]StringBuilder sb = new StringBuilder(); for (int i=0; iStringBuilder는 가변 문자열을 다루기 때문에 메모리 재할당이 최소화됩니다.문자열 결합 시마다 새로운 문자열 객체를 생성하지 않으므로 효율적입니다.성능이 중요하고 Java 11 이하를 사용한다면 좋습니다 return my_string.repeat(k);String.repeat은 내부적으로 최적화되어 있어 효율적입니다Java 11 이상에서만 사용 가능합니다가장 간결하고 직관적 https://www.javastring.net/java/string/java-string-repea..