피보나치 수 2 2748 Java
·
문제풀이/백준
2748번: 피보나치 수 2 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가 www.acmicpc.net package 백준.자바.피보나치수2_2748; import java.io.*; import java.util.*; public class Main { private long[] dp; private long fibonacci(int x){ if(dp[x] == -1) return dp[x] = fibonacci(x-2) + fibonacci(x-1); return dp[x]; } public void solution() th..
백준 플레티넘 달성 및 회고
·
회고 · 잡담
백준 플레티넘을 달성했습니다.되도록 저에게 떳떳하게 플레에 달성하고 싶은 마음이었지만, 그러지 못한 거 같아 아쉬움이 많습니다.아쉬움과 관련한 내용은 뒤에서 플레티넘에 도전하며 느낀점과 계기와 함께 이야기 해보려 합니다. 플레티넘을 목표로 하게 된 계기요즘 대부분의 기업이 코딩테스트를 필수로 응시하고 있고, 기업에게 저를 어필할 수 있는 기회는 당연하게도 코딩테스트 이후입니다.내가 아무리 좋은 포트폴리오를 가지고 있다고 하더라도, 코딩테스트라는 수문장을 넘어서지 못하면 말짱 도루묵인 셈이지요 저의 최초의 목표는 플레티넘이 아닌 골드였습니다 2021년 전역 이후 백지 상태로 복학을 하려고 하니, 당시에 프로젝트 경험도 없고, 관련 지식 조차 전무한 상태였기에어쩌면 그 당시 저에게 코딩테스트의 기반을 다지는..
[C++] 연산자 중복의 구현
·
카테고리 없음
연산자 중복(오버로딩)의 2가지 구현 방법 클래스의 멤버 함수로 구현 외부 함수로 구현하고 클래스에 프렌드 함수로 선언 함수 형식 리턴타입 operator 연산자(매개변수) Point operator+(const Point& op1); // 멤버 함수 Point operator+(const Point& op1, const Point& op2); // 외부 함수 함수 형식을 정하는 기준(멤버함수, 외부함수) 1. 좌측 피연산자가 클래스인 경우 [클래스 객체 + 클래스 객체], [클래스 객체 + 상수], [클래스 객체++] -> 클래스 내 멤버 함수로 구현이 가능하다. 2. 좌측 피연산자가 상수(int, double 등)인 경우 -> 외부 함수로 구현하고, friend로 묶어줘야 한다. 연산자 중복 함수의 ..
마법사 상어와 토네이도 20057 Java
·
문제풀이/백준
20057번: 마법사 상어와 토네이도 마법사 상어가 토네이도를 배웠고, 오늘은 토네이도를 크기가 N×N인 격자로 나누어진 모래밭에서 연습하려고 한다. 위치 (r, c)는 격자의 r행 c열을 의미하고, A[r][c]는 (r, c)에 있는 모래의 양을 www.acmicpc.net package 백준.자바.마법사상어와토네이도_20057; import java.io.*; import java.util.*; public class Main { private int[][] windX = {{1, -1, 2, 1, -1, -2, 1, -1, 0, 0}, {0, 0, 1, 1, 1, 1, 2, 2, 3, 1}, {1, -1, 2, 1, -1,-2, 1,-1, 0, 0},{0, 0, -1, -1, -1, -1, -2, ..
벡터매칭 1007 Java
·
문제풀이/백준
1007번: 벡터 매칭 평면 상에 N개의 점이 찍혀있고, 그 점을 집합 P라고 하자. 집합 P의 벡터 매칭은 벡터의 집합인데, 모든 벡터는 집합 P의 한 점에서 시작해서, 또 다른 점에서 끝나는 벡터의 집합이다. 또, P에 속 www.acmicpc.net package 백준.자바.벡터매칭_1007; import java.io.*; import java.util.*; public class Main { private boolean[] visited; private int n; List v; private double result; private void dfs(int index, int count){ if(count == 0) result = Math.min(result, getVector()); else..
도서관 1461 Java
·
문제풀이/백준
1461번: 도서관 세준이는 도서관에서 일한다. 도서관의 개방시간이 끝나서 세준이는 사람들이 마구 놓은 책을 다시 가져다 놓아야 한다. 세준이는 현재 0에 있고, 사람들이 마구 놓은 책도 전부 0에 있다. 각 책 www.acmicpc.net package 백준.자바.도서관_1461; import java.io.*; import java.util.*; public class Main { private int N, M; public void solution() throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.rea..
소수의 연속합 1644 Java
·
문제풀이/백준
1644번: 소수의 연속합 첫째 줄에 자연수 N이 주어진다. (1 ≤ N ≤ 4,000,000) www.acmicpc.net package 백준.자바.소수의연속합_1644; import java.io.*; import java.util.*; public class Main { public void solution() throws Exception { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); if(n==1) { System.out.println(0); return; } boolean[] isPrime = new boolean[n+1]; Arrays.fill(isPrime, true); isPrime[0] = isPrime[1] = false;..
네트워크연결 1922 Java
·
문제풀이/백준
1922번: 네트워크 연결 이 경우에 1-3, 2-3, 3-4, 4-5, 4-6을 연결하면 주어진 output이 나오게 된다. www.acmicpc.net package 백준.자바.네트워크연결_1922; import java.io.*; import java.util.*; public class Main { class Node{ int s; int e; int dist; public Node(int s, int e, int dist) { this.s = s; this.e = e; this.dist = dist; } } private int[] parent; void union(int a, int b){ int x = find(a); int y = find(b); if(x != y){ parent[y]= x..
최소비용구하기2 11779 Java
·
문제풀이/백준
11779번: 최소비용 구하기 2 첫째 줄에 도시의 개수 n(1≤n≤1,000)이 주어지고 둘째 줄에는 버스의 개수 m(1≤m≤100,000)이 주어진다. 그리고 셋째 줄부터 m+2줄까지 다음과 같은 버스의 정보가 주어진다. 먼저 처음에는 그 버스 www.acmicpc.net package 백준.자바.최소비용구하기2_11779; import java.io.*; import java.util.*; import java.util.concurrent.LinkedTransferQueue; public class Main { StringBuilder sb = new StringBuilder(); private int V, E, start, end; private int[] visit; private List gr..
친구네트워크 4195 Java
·
문제풀이/백준
4195번: 친구 네트워크 첫째 줄에 테스트 케이스의 개수가 주어진다. 각 테스트 케이스의 첫째 줄에는 친구 관계의 수 F가 주어지며, 이 값은 100,000을 넘지 않는다. 다음 F개의 줄에는 친구 관계가 생긴 순서대로 주어진 www.acmicpc.net package 백준.자바.친구네트워크_4195; import java.io.*; import java.util.*; public class Main { private int[] parent, friends; private void union(int a, int b){ int x = find(a); int y = find(b); if(x != y){ parent[y] = x; } } private int find(int x){ if(x == parent..
송민서
osnie