반응형
SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
각각의 합의 관계성을 고려하여 공식 만들어 사용하였다.
내 코드
메모리 : 37296 KB
시간 : 154 ms
코드길이 : 770 B
[내 코드]
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Solution {
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
StringTokenizer st;
int T = Integer.parseInt(br.readLine());
for(int t = 1; t <= T; t++) {
sb.append('#').append(t).append(' ');
long N = Integer.parseInt(br.readLine());
long S1 = S1(N);
long S2 = 2 * S1 - N;
long S3 = 2 * S1;
sb.append(S1).append(' ').append(S2).append(' ').append(S3).append('\n');
}
System.out.print(sb);
}
public static long S1(long n) {
return (n * n + n) / 2;
}
}
메모리 사용량이 적고 실행 시간도 짧은 코드 가져와봄
난 코드의 가시성이 중요하다고 생각해서 저렇게 코드를 짰는데 그냥 바로 공식을 넣어서 돌리는 게 효율성을 좋나? 생각해서 내 컴퓨터로 돌려봤더니 똑같았음. 그냥 가시성 좋게 짜는 게 나은 듯.
import java.util.Scanner;
public class Solution {
public static StringBuffer result = new StringBuffer();
public static void main(String args[]) throws Exception {
Scanner sc = new Scanner(System.in);
int T = sc.nextInt();
for (int t = 1; t <= T; t++) {
long N = sc.nextLong();
result.append("#" + t + " " + N*(N+1)/2 + " " + N*N + " " + N*(N+1));
if (t < T) result.append("\n");
}
System.out.print(result);
sc.close();
}
}
반응형
'SSAFY > SWEA' 카테고리의 다른 글
[SWEA] 3431 : 준환이의 운동관리 (0) | 2023.05.07 |
---|---|
[SWEA] 2806 : N-Queen (0) | 2023.05.07 |
[SWEA] 8016 : 홀수 피라미드 (0) | 2023.05.05 |
[SWEA] 4013 : 특이한 자석 (0) | 2023.05.04 |
[SWEA] 1952 : 수영장 (0) | 2023.05.04 |