본문 바로가기

dev-log147

🪄 230815 인프콘 2023 다녀왔다! 개발자로 취업 준비를 하면서 개발자 컨퍼런스에도 관심을 갖게 되었다. 같이 항해를 수료하신 동료분이 알려주신 인프콘, 인기가 정말 많아서 당첨이 되어야 갈 수 있다는 말에 "에이 설마 내가 되려나..?"하는 마음으로 신청해본 인프콘 역시 초심자의 행운이 정말로 있다니까!! 👯‍♀️👯‍♀️ 여러 회사에 이력서를 넣어보고 1차 서류 합격도 힘든 현실의 벽을 느끼면서 기운이 점차 빠져가는 찰나, 인프콘으로 기분 전환 제대로 하고 왔다. 간만에 정말 정.말. 많은 사람들 사이에서 혼자 기빨리고 와서 힘들었..지만 모두가 개발자로써 새로운 인사이트를 얻기 위해, 성장하기 위해, 지식에 대한 갈망을 해소하기 위해 모였다는게 정말 멋있었다. 개발자라는 직업을 가진다는건 이런게 정말 매력있는 것 같다. 도태되지 않기 .. 2023. 9. 3.
정렬 알고리즘 - 거품 정렬(Bubble sort) import java.util.Arrays; public class Main { public static void main(String[] args) { int[] arr = {9, 8, 7, 6, 5, 4, 3, 2, 1}; bubble_sort(arr); System.out.println(Arrays.toString(Arrays.stream(arr).toArray())); } private static void bubble_sort(int[] arr) { int size = arr.length; for (int i = 1; i arr[j + 1]) { swap(arr, j, j + 1).. 2023. 9. 3.
백준 1920번 :: 수 찾기 한 달 만에 다시 풀게 된 문제, 눈물겨운 성장스토리 시작합니데이 한 달 전, 처음 풀 때는 이중for loop 돌도록해서 전체 탐색을 진행했었더랬지.. 그때는 다른 방법을 쓸 수 없을 것 같았는데, import java.io.*; import java.util.HashMap; import java.util.Map; import java.util.StringTokenizer; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new Buffered.. 2023. 8. 11.
디자인 패턴 - 싱글톤 패턴 "싱글톤 패턴" : 객체의 인스턴스가 오직 1개만 생성되는 패턴 왜 쓰나요? - 메모리 측면에서의 이점 : 한 번의 new 연산자를 통해 고정된 메모리를 사용하여 객체 할당 → 나중에 해당 객체에 접근할 때 메모리 낭비 방지 && 이미 생성된 인스턴스 재활용 (속도 측면 이점) - 데이터 공유가 쉬움 : "싱글톤 인스턴스 = 전역적으로 사용되는 인스턴스" → 다른 클래스의 인스턴스가 접근하여 사용가능 but 동시성 문제 이슈 싱글톤 패턴 구현 SingletonTest.java SingletonTest 클래스로 생성된 인스턴스를 공유하는 A Class.java SingletonTest 클래스로 생성된 인스턴스를 공유하는 B Class.java Test.java 마지막 Test 클래스에서 AClass와 BC.. 2023. 8. 10.
백준 2141번 :: 우체국 최근엔 그리디 알고리즘을 풀고 있다. 개인적으로 제일 어렵다고 생각함.. 각 문제마다 풀이를 접근했을 때 이게 어떻게 최적해가 보장이 되는 것인지 설명하기 어려워서 접근법을 구상해내는게 쉽지않음.. ㅠ 그런 문제 중 하나가 이번 '우체국' 문제라고 생각한데이...🥲 https://www.acmicpc.net/problem/2141 2141번: 우체국 첫째 줄에 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 X[1], A[1], X[2], A[2], …, X[N], A[N]이 주어진다. 범위는 |X[i]| ≤ 1,000,000,000, 1 ≤ A[i] ≤ 1,000,000,000 이며 모든 입력은 정수이다. www.acmicpc.net 접근방법 1. 그리디 알고리즘은 '정렬'이 핵심이라.. 2023. 8. 7.
연산자 산술 / 비트 / 관계 / 논리 연산자 더보기 산술 연산자 : +, -, *, /, % 비트 연산자 비트(bit) 단위로 논리 연산을 할 때 사용하는 연산자. & 대응되는 비트가 모두 1이면 1을 반환. (비트 AND 연산) | 대응되는 비트 중에서 하나라도 1이면 1을 반환. (비트 OR 연산) ^ 대응되는 비트가 서로 다르면 1을 반환. (비트 XOR 연산) ~ 비트를 1이면 0, 0이면 1로 반전. (비트 NOT 연산, 1의 보수) 부호를 유지하고 지정된 수만큼 모두 오른쪽으로 이동. (Right shift 연산) >>> 명시된 수만큼 비트들을 모두 오른쪽으로 이동, 새로운 비트는 0으로 채움. (Unsigned right shift 연산) 관계 연산자 : ==, !=, >, >=, {method .. 2023. 8. 6.
320x100