Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- OAuth
- maven
- react
- 루비
- gradle
- Vane
- Spring
- boj
- Python
- C
- kotlin
- gnuplot
- ruby2d
- error
- jetbrains
- RaspberryPi
- plugin
- IntelliJ
- GitHub
- Baekjoon
- Java
- JS
- 개발노트
- Android
- rubymine
- OTLanguage
- Godot
- Shell
- ruby
- CPP
Archives
- Today
- Total
PersesTitan(페르) 기술블로그
[GuguClass]구구클래스 한줄로 구현해보기 본문
오늘 우연히 구구클래스라는 것을 알게 되었는데요. 해당 코드를 진짜로 한줄로 구현해볼 수 있지 않을까 하고 구현을 시도해보게 되었습니다.
그냥 구구단 코드인데... 자세한 추가적인 내용은 나무위키 (고마워요 나무위키) 를 참고하여 알게 되었습니다.
문론 숏코딩을 목적으로 최적화따위는 고려하지 않았습니다.
코드
원본 코드
(출처: 나무위키)
public class GuguClass {
public static void main(String[] args) {
System.out.format("%n < gugu>%n");
for(int j=1; j<=9; j++) {
System.out.println();
for(int i=2; i<=5; i++) { // 2~ 5
System.out.format("%d X %d = %2d ", i, j, i * j);
}
}
System.out.println(); // 줄바꿈
for(int j=1; j<=9; j++) {
System.out.println();
for(int i=6; i<=9; i++) { // 6~ 9
System.out.format("%d X %d = %2d ", i, j, i * j);
}
}
System.out.println(); // 줄바꿈
}
}
내 코드
한줄이라고 하기에는 많이 길ㄷ..한 줄로 짤 코드를 누가 열 네 줄로 만들어놨어요?
import java.util.stream.IntStream;
public class GuguClass {
public static void main(String[] args) {
System.out.println("\t".repeat(6) + " < gugu>\n");
IntStream.range(1,20).forEach(i->IntStream.range(2,6).forEach(a->System.out.printf(i==10?"":"%d X %d = %2d"+(a%5==0?(i==9?"\n\n":"\n"):"\t\t"),a=i>10?a+4:a,i>10?i-10:i,(i>10?i-10:i)*a)));
}
}
출력
< gugu>
2 X 1 = 2 3 X 1 = 3 4 X 1 = 4 5 X 1 = 5
2 X 2 = 4 3 X 2 = 6 4 X 2 = 8 5 X 2 = 10
2 X 3 = 6 3 X 3 = 9 4 X 3 = 12 5 X 3 = 15
2 X 4 = 8 3 X 4 = 12 4 X 4 = 16 5 X 4 = 20
2 X 5 = 10 3 X 5 = 15 4 X 5 = 20 5 X 5 = 25
2 X 6 = 12 3 X 6 = 18 4 X 6 = 24 5 X 6 = 30
2 X 7 = 14 3 X 7 = 21 4 X 7 = 28 5 X 7 = 35
2 X 8 = 16 3 X 8 = 24 4 X 8 = 32 5 X 8 = 40
2 X 9 = 18 3 X 9 = 27 4 X 9 = 36 5 X 9 = 45
6 X 1 = 6 7 X 1 = 7 8 X 1 = 8 9 X 1 = 9
6 X 2 = 12 7 X 2 = 14 8 X 2 = 16 9 X 2 = 18
6 X 3 = 18 7 X 3 = 21 8 X 3 = 24 9 X 3 = 27
6 X 4 = 24 7 X 4 = 28 8 X 4 = 32 9 X 4 = 36
6 X 5 = 30 7 X 5 = 35 8 X 5 = 40 9 X 5 = 45
6 X 6 = 36 7 X 6 = 42 8 X 6 = 48 9 X 6 = 54
6 X 7 = 42 7 X 7 = 49 8 X 7 = 56 9 X 7 = 63
6 X 8 = 48 7 X 8 = 56 8 X 8 = 64 9 X 8 = 72
6 X 9 = 54 7 X 9 = 63 8 X 9 = 72 9 X 9 = 81
'Language > Java' 카테고리의 다른 글
[Java] IllegalAccessException (0) | 2023.03.12 |
---|---|
[Java] InstantiationException (0) | 2023.03.12 |
[Java][BigDecimal] RoundingMode 올림, 반올림, 내림 구현하기 (0) | 2023.01.21 |
[Java] Double값이 정수인지 확인하기 (0) | 2022.12.28 |
[Java] 한글 에디터 개발 (뷁어, 모음자음 분리, 영어 발음 한글로 변경 등) (0) | 2022.11.27 |