전체 글
-
[백준] #2261 가장 가까운 두 점 ( + 나의 좌표와 가장 가까운 좌표 구하기)카테고리 없음 2024. 2. 13. 22:04
2261번: 가장 가까운 두 점 첫째 줄에 자연수 n(2 ≤ n ≤ 100,000)이 주어진다. 다음 n개의 줄에는 차례로 각 점의 x, y좌표가 주어진다. 각각의 좌표는 절댓값이 10,000을 넘지 않는 정수이다. 여러 점이 같은 좌표를 가질 수도 www.acmicpc.net 📌 문제 이해하기 백준 문제를 풀기 전, 원래 아래 문제를 풀었었다. [문제] 나의 좌표값이 주어지고 임의의 개수 만큼의 좌표들이 주어질 때, 가장 가까운 좌표와의 거리를 구해라. 단 주어진 좌표들이 중복되선 안된다. 해당 문제를 풀 때에는, 나의 좌표와 비교만 수행하면 됐기 때문에 입력받은 좌표들을 하나씩 비교하면서 연산을 수행(완전탐색)해도 N번의 연산이 수행되기 때문에 O(N)의 복잡도로 때문에 문제가 되지 않았다. // 거..
-
[DLOG] 프론트엔드, 백엔드 그게 뭔데? (feat. 앱개발) - 2카테고리 없음 2024. 2. 10. 16:18
https://muunii.tistory.com/5 [DLOG] 프론트엔드, 백엔드 그게 뭔데? (feat. 앱 개발) - 1 들어가며 주변에서 어떤 일을 준비하고 있는지 물을 때 '백엔드 개발자' 라고 답변을 하면 대다수가 '그게 뭔데,,?', '무슨 차이가 있는건데?' 라는 질문을 받아본 적이 종종 있었다. 또는 개발자 muunii.tistory.com 지난번에는 프론트엔드에 대해서 알아보았으니, 바로 백엔드에 대해 알아보기 전에 다시 한번 자판기 예시를 떠올려보고 들어가자! 음료들이 3열로 배치되어있고, 품절된 음료에는 빨간불이 깜빡거리며, 상단에는 새로나온 음료에 대한 광고가 나오고 있고, 구매를 원하는 음료의 버튼을 누를 수 있다 ▶ 프론트엔드의 영역 자판기로 들어온 돈과, 선택한 음료의 금액이..
-
[백준] #11725 트리의 부모찾기 (BFS/DFS)카테고리 없음 2024. 2. 7. 22:04
https://www.acmicpc.net/problem/11725 11725번: 트리의 부모 찾기 루트 없는 트리가 주어진다. 이때, 트리의 루트를 1이라고 정했을 때, 각 노드의 부모를 구하는 프로그램을 작성하시오. www.acmicpc.net ✅ 문제 이해하기 둘째 줄부터 주어지는 두 노드는 방향성이 없는 연결된 노드이다. 이런 노드들을 모두 연결했을 때 아래와 같은 그림이 되고, 이를 트리를 바꿔서 볼 수 있다. 따라서 우리는 다음과 같은 과정을 거쳐야 한다. 주어진 두 노드의 연결관계를 그리고 모든 노드를 순회하면서 각 노드의 부모가 누구인지를 알아내야한다 ✅ 문제 해체하기 1. 주어진 두 노드의 연결관계 그리기/나타내기 우리가 그릴 트리는 방향성이 없다는 것을 기억해두고, 각 노드들을 기준으로..
-
[JAVA] BufferedReader & Scanner & System.in카테고리 없음 2024. 1. 31. 01:15
JAVA에서는 키보드로부터 값을 받아오는 방법 2가지가 존재한다. 두 방법 사이에 어떤 차이가 있고, 어떤 구조를 가지는지 알아보려고 한다. 1. Scanner Scanner는 키보드의 입력이 발생할 때마다 값이 바로바로 전달된다 장점 공백 및 개행 문자를 기준으로 읽어들이기 때문에 쉽게 데이터를 구분하여 받을 수 있다. 데이터 타입을 지정할 수 있기 때문에(nextInt( ), nextFloat( ) ,, ) 별도의 타입 캐스팅이 필요하지 않다. 단점 입력받을 때마다 전송이 되기 때문에 시간적인 측면에서는 비효율적이다. Thread unsafe한 성질을 지니기 때문에 멀티스레드 환경에서는 문제가 될 수 있다. 2. BufferedReader BufferedReader는 입력 받은 값을 기본적으로 8KB..
-
[백준] #10807 개수 세기카테고리 없음 2024. 1. 31. 01:04
https://www.acmicpc.net/problem/10807 10807번: 개수 세기 첫째 줄에 정수의 개수 N(1 ≤ N ≤ 100)이 주어진다. 둘째 줄에는 정수가 공백으로 구분되어져있다. 셋째 줄에는 찾으려고 하는 정수 v가 주어진다. 입력으로 주어지는 정수와 v는 -100보다 크거 www.acmicpc.net 문제 이해하기 문제 자체는 크게 어렵지 않다! 입력 받을 정수 개수 n 받아오기 공백으로 구분되어있는 정수들이 담긴 문자열 받아오기 찾고자 하는 값 v 를 받은 뒤, 2번 과정에서 받은 정수들 중에 몇 개가 있는지 파악하기 따라서 내가 생각한 문제의 포인트는 아래와 같다 사용자에게 받은 문자열을 공백을 기준으로 분리하기 찾고자하는 값 v를 문자열에서 찾기 문제 해체하기 0. 정수 n ..
-
[DLOG] 프론트엔드, 백엔드 그게 뭔데? (feat. 앱 개발) - 1카테고리 없음 2024. 1. 30. 16:00
들어가며 주변에서 어떤 일을 준비하고 있는지 물을 때 '백엔드 개발자' 라고 답변을 하면 대다수가 '그게 뭔데,,?', '무슨 차이가 있는건데?' 라는 질문을 받아본 적이 종종 있었다. 또는 개발자에 대해서 관심이 있는 주변인들 중 '프론트랑 백 중에서 어떤게 나랑 맞는지 잘 모르겠어' 라는 고민을 들어본 적도 종종 있었고, 나 또한 그런 고민을 했던 시기가 있었다. 그래서 개발자를 준비하기 시작한 초창기에는 프론트와 백의 차이에 대해서 굉장히 많이 찾아보았던 것 같다. 도대체 프론트엔드, 백엔드 개발자는 뭘 하는 사람들인지, 그리고 어떤 개발 파트가 나와 잘 맞을지 나의 경험과 주관으로 한번 정리해보려고 한다. 개발자를 이해하고 고민해보는데 이 글이 조금이나마 도움이 되었으면 좋겠다. 들어가기에 앞서,..
-
[백준] #2830 행성 X3카테고리 없음 2024. 1. 26. 03:32
https://www.acmicpc.net/problem/2830 2830번: 행성 X3 상근이는 초등학교 졸업 여행으로 외계 행성 X3에 방문했었다. 이 행성에 사는 사람들의 이름은 모두 자연수이다. 행성의 거주민은 모두 서로를 알고 있다. 두 X3인은 그들의 친밀도를 자신의 이 www.acmicpc.net 문제 이해하기 거주민의 이름은 10진수이며, 친밀도 연산을 위해서는 이진수로 바꿔야한다. 친밀도 연산은 각 자리수가 같다면 0, 다르다면 1로 연산을 수행하고, 주민 별로 2진수 연산 값을 모두 더해 10진수로 변환하면 행성의 전체 친밀도가 나온다 따라서 내가 생각한 문제의 포인트는 아래와 같았다. 10진수를 2진수로 변환하기 2진수로 변환한 값을 가장 긴 자리 수에 맞춰서 바꾸기 XOR 연산 ( ..