썸네일 [부린이 필수상식] 모르면 손해보는 부동산 기초지식 10가지 경제 불황이라는 악재 속에서도 내 집 마련을 꿈꾸는 사람들은 여전히 많다. 많이 떨어졌다고는 여전히 높은 집값 탓에 꿈만 꾸고 포기하는 사람 또한 적지 않다. 게다가 요즘 같은 시기엔 대출 규제 이전에 치솟는 금리 탓에 대출을 받기도 쉽지 않은 상황이다. 그렇다면 어떻게 해야 조금이라도 더 합리적인 가격으로 내 집 마련을 할 수 있을까? 바로 ‘부동산 공부’다. 우리나라 국민이라면 누구나 필수적으로 알고 있어야 하는 부동산 기본 상식 10가지를 통해 똑똑하게 내 집 마련을 준비해보자. 1. 아파트 면적 표기법(전용면적, 공급면적, 계약면적) 2. 청약통장 종류별 특징 3. 분양권 전매제한 기간 4. 지역주택조합아파트 장단점 5. 재개발/재건축 차이점 6. 세대주 분리 조건 7. LTV, DTI, DSR ..
썸네일 주린이를 위한 주식용어정리 (주식초보 필독) 재테크 열풍 속에서도 여전히 인기 종목 상위 랭크를 차지하고 있는 분야가 바로 주식이다. 하지만 누구나 쉽게 시작할 수 있다는 말만 듣고 섣불리 도전했다가 큰 코 다칠 수도 있는데 그렇기 때문에 초보라면 반드시 기본 개념 공부 및 실전 연습 과정을 거쳐야만 한다. 그렇다면 초보자들은 무엇부터 해야 할까? 우선 주린이 필수 용어 정리부터 차근차근 살펴보도록 하자. 2020년 코로나19 사태로 인해 세계 경제가 휘청거렸지만 아이러니하게도 주식 시장만큼은 호황을 누렸다. 이른바 동학개미운동이라는 신조어가 생길 정도로 개인투자자들이 대거 유입됐기 때문이다. 덕분에 코스피 지수는 사상 최고치를 경신했고 코스닥 역시 1,000포인트를 돌파했다. 물론 지금은 다소 주춤한 상태지만 그럼에도 불구하고 개미군단의 위력은 ..
썸네일 [Android] Retrofit2 URL Encoding 방지하기 공공데이터 사이트에서 api를 받아서 활용하는중에 계속 같은에러가 발생하였습니다. 에러를 찾아보니 GsonBuilder().setLenient().create() 를 컨버터에 붙여주면 된다는 글이 있었지만 해결되지 않았습니다. json 규격도 다 맞고, 혹시나 url이 잘못됐나 싶어 포스트맨으로도 확인해보았으나 데이터가 제대로 들어왔습니다. 인터셉터에서 띄워주는 로그를 보니 공공데이터에서 받은 서비스키가 다르게 나오고있었습니다. 제가 작성한 url 중 서비스키가 d49%3Do29%2R 이런식이었다면 d49%25253Do29%25252R 이렇게 나오고 있었는데 원인을 찾아보니 자동으로 utf-8로 인코딩 돼서 서비스키가 변경되어 나오는 것이었습니다. 공공데이터에서 받은 서비스키가 인코딩 서비스키였는데 인코..
[알고리즘] 백준 10989번 : 수 정렬하기 3 (Kotlin) www.acmicpc.net/problem/10989 10989번: 수 정렬하기 3 첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다. www.acmicpc.net 이 문제는 시간초과에 대해 신경써야 하는 문제이므로 비교적 성능이 무거운 Scanner의 사용을 배제한다 1. 아슬아슬하게 채점된 BufferedReader + BufferedWriter + Arrays.sort() fun main() { val br = BufferedReader(InputStreamReader(System.`in`)) val bw = BufferedWriter(OutputStreamWriter(System.o..
[알고리즘] 백준 2798번 : 블랙잭 (Kotlin) www.acmicpc.net/problem/2798 2798번: 블랙잭 첫째 줄에 카드의 개수 N(3 ≤ N ≤ 100)과 M(10 ≤ M ≤ 300,000)이 주어진다. 둘째 줄에는 카드에 쓰여 있는 수가 주어지며, 이 값은 100,000을 넘지 않는다. 합이 M을 넘지 않는 카드 3장을 찾을 수 있 www.acmicpc.net 1. Scanner fun main() = with(Scanner(System.`in`)) { val N: Int = nextInt() val M: Int = nextInt() val arr = IntArray(N) var result = 0 for (i in 0 until N) { arr[i] = nextInt() } for (i in 0 until N - 2) { for (..
[알고리즘] 백준 10870번 : 피보나치 수 5 (Kotlin) www.acmicpc.net/problem/10870 10870번: 피보나치 수 5 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가 www.acmicpc.net 1. 재귀 fun main() { val br = BufferedReader(InputStreamReader(System.`in`)) val input = br.readLine().toInt() print(fibonacci(input)) } fun fibonacci(N: Int): Int { return if (N < 2) N else fibonacci(N - 1) + f..
[알고리즘] 백준 1929번 : 소수 구하기 (Koltin) www.acmicpc.net/problem/1929 1929번: 소수 구하기 첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) M이상 N이하의 소수가 하나 이상 있는 입력만 주어진다. www.acmicpc.net 1. Scanner + sqrt fun main() = with(Scanner(System.`in`)) { val N = nextInt() val M = nextLine().trim().toInt() val check = BooleanArray(M + 1) for (i in check.indices) check[i] = true val sqrt = sqrt(M.toDouble()).toInt() for (i in 2..sqrt) { if (c..
[알고리즘] 백준 2839번 : 설탕 배달 (Kotlin) www.acmicpc.net/problem/2839 2839번: 설탕 배달 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그 www.acmicpc.net 알고리즘은 정말 생각하면 할수록 더 나은 풀이가 나오는것 같습니다..! 1. 제가 처음 풀었을때의 코드입니다 fun main() = with(System.`in`.bufferedReader()) { var input = readLine().toInt() var count = 0 while (true) { if (input % 5 == 0) { print("${input / 5 + count}") break } else i..
[알고리즘] 백준 1152번 : 단어의 개수 (Kotlin) www.acmicpc.net/problem/1152 1152번: 단어의 개수 첫 줄에 영어 대소문자와 띄어쓰기로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 띄어쓰기 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 www.acmicpc.net 1. 만들다보니 코드가 간단했습니다 fun main(args: Array) = with(BufferedReader(InputStreamReader(System.`in`))) { print("${StringTokenizer(readLine(), " ").countTokens()}") } 2. 한줄처리도 가능합니다 fun main() { print("${StringTokenizer(BufferedReader(I..
[알고리즘] 백준 2562번 : 최댓값 (Kotlin) www.acmicpc.net/problem/2562 2562번: 최댓값 9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오. 예를 들어, 서로 다른 9개의 자연수 3, 29, 38, 12, 57, 74, 40, 85, 61 이 주어 www.acmicpc.net 1-1. Scanner 를 이용한 방식 fun main(args: Array) = with(Scanner(System.`in`)) { val maxArray = arrayListOf() var maxLine = 0 var maxNum = 0 for (i in 0 until 9) { val inputNum = nextInt() maxArray.add(inputNum) if (max..
[알고리즘] 백준 10952번 : A+B-5 (Kotlin) www.acmicpc.net/problem/10952 10952번: A+B - 5 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 1. Scanner 를 이용한 방식 import java.util.* fun main(args: Array) = with(Scanner(System.`in`)) { while (true) { val A = nextInt() val B = nextInt() if (A == 0 && B == 0) { break } println("${A + B}") } } 2. BufferedReader 를 이용한 방식 import java.io.BufferedReader import java.io.InputStreamReader impo..
[알고리즘] 백준 10871번 : X보다 작은 수 (Kotlin) 알고리즘의 공부가 필요하겠다 싶어서 공부를 시작하게 됐는데 문제를 이해하는게 어렵네요ㅋㅋ 문제를 이해하면 로직은간단한거같은데 문제를 이해하는게 관건일듯 싶습니다 www.acmicpc.net/problem/10871 10871번: X보다 작은 수 첫째 줄에 N과 X가 주어진다. (1 ≤ N, X ≤ 10,000) 둘째 줄에 수열 A를 이루는 정수 N개가 주어진다. 주어지는 정수는 모두 1보다 크거나 같고, 10,000보다 작거나 같은 정수이다. www.acmicpc.net 1. Scanner와 IntArray를 이용한 방식 import java.util.* fun main(args: Array) = with(Scanner(System.`in`)) { val n = nextInt() val x = nextI..