본문 바로가기

Programming

(136)
[Project Euler] Problem 009 이 문제에서 만족해야 할 a, b, c의 조건은 다음의 세 가지다. ① a, b, c는 a < b < c인 자연수 ② a² + b² = c²③ a + b + c = 1000 내 풀이의 핵심은 조건 ③이다.c를 우변으로 이항하면 a + b = 1000 - c 임을 이용했다. 123456789101112131415161718192021222324252627package q001_q025; public class Problem009 { public static void main(String[] args) { System.out.println(run()); } public static String run() { int a, b, c; int result = 0; for(a = 1; a
[BAEKJOON] 1011번 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950#include #define SQUARE(X) ((X)*(X)) int run();long long warp(long long d); int main(){ return run();} int run(){ int num; long long x, y; scanf("%d", &num); while (--num) { scanf("%lld %lld", &x, &y); printf("%lld\n", warp(y - x)); } return 0;} long long warp(long long d){ long long j; long long min, sqr,..
[Project Euler] Problem 008 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354public class Problem008 { public static void main(String[] args) { System.out.println(run()); } public static int run() { String[] str = { "73167176531330624919225119674426574742355349194934", "96983520312774506326239578318016984801869478851843", "85861560789112949495459501737958331952853208805511"..
[BAEKJOON] 1152번 123456789101112131415161718import java.util.Scanner;import java.util.StringTokenizer; public class Main { public static void main(String[] args) { System.out.print(new Main().run()); } public String run() { Scanner scanner = new Scanner(System.in); StringTokenizer st = new StringTokenizer(scanner.nextLine(), " "); scanner.close(); return Integer.toString(st.countTokens()); }}Colored by Color Scr..
[BAEKJOON] 2775번 각 아파트에 사는 사람을 표로 표현하면 다음과 같다. 1 16 136 … 1 15 120 1 14 105 1 13 91 1 12 78 1 11 66 1 10 55 1 9 45 1 8 36 1 7 28 1 6 21 1 5 15 1 4 10 20 35 56 81 107 152 207 273 351 442 547 1 3 6 10 15 21 28 36 45 55 66 78 91 105 1 2 3 4 5 6 7 8 9 10 11 12 13 14 첫번째 열을 제외하고 대각선 대칭이다. 3-34-6-45-10-10-56-15-20-15-67-21-35-35-21-7... 따라서 n행 n열의 값은 n-1행 n열과 n행n-1열의 값의 합이다. 1234567891011121314151617181920212223242526..
[BAEKJOON] 2292번 처음에는 벌집을 구현해야 되는 건가 싶었는데, 규칙이 있었다. 123456789101112131415161718192021222324252627282930313233343536import java.util.Scanner; public class Main { public static void main(String[] args) { System.out.print(new Main().run()); } public String run() { Scanner scanner = new Scanner(System.in); long n = scanner.nextLong(); int count = 1; if(n == 1L) { scanner.close(); return "1"; } for(long na = 0L, nb =..
다중 포인터 1. 포인터의 포인터 앞의 포인터 변수는 기본 타입(char, short, int, long, long, float, double) 변수를 가리키고 있다. 포인터의 포인터, 즉 이중 포인터(double pointer)는 기본 타입 변수가 아닌 포인터 변수를 가리키는 포인터 변수다. 이중 포인터 변수는 다음과 같이 선언한다. int** dptr; 언뜻 보면 어려워 보일 수 있지만, 사실 뭔가를 가리키고 있다는 것은 변함이 없다. 다만 가리키는 대상이 포인터 변수일 뿐이다. int형 변수와 포인터 변수는 저장하는 값의 유형이 다를 뿐이지, 결국 값을 저장할 수 있는 변수라는 점은 같았다. 마찬가지로 더블 포인터와 싱글 포인터는 저장하는 값이 포인터 변수의 주소인지, 기본 타입 변수의 주소인지 다를 뿐이다. ..
[BAEKJOON] 1924번 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int today = 0; int x = sc.nextInt(); int y = sc.nextInt(); int month = 1; for(month = 1; month