전체 글

말보다는 실천하는 사람
🔍 직렬화란? 객체의 내용을 바이트 단위로 변환하여 파일 또는 네트워크를 통해 송수신 가능하게끔 하는 것을 의미한다. 예를 들어, 우리가 사용하는 IDE를 종료하고 새로 키더라도 편집하던 화면과 위치를 그대로 보존하고 있는데, 이것은 우리의 사용정보를 '직렬화'해 PC 어딘가에 저장해놓고 있다가 사용자가 IDE를 실행한 시점에 사용정보를 불러오기 때문이다. 사용자의 브라우저와 서버 간의 데이터를 통신할 때 자주 사용하는 JSON도 직렬화의 한 형태인 것이다. 자바는 자바 객체를 직렬화 하는 기능을 보유하고 있다. 직렬화된 파일이나 데이터는 다른 자바 기반의 시스템에서 불러와 그대로 객체로 활용할 수 있는 큰 이점이 있다. 🔍 코드로 알아보기 import java.io.Serializable; public..
코딩테스트 연습 - 의상 | 프로그래머스 스쿨 (programmers.co.kr) import java.util.*; class Solution { private static final List caseList = new ArrayList(); public int solution(String[][] clothes) { Map map = new HashMap(); for (String[] c : clothes) { String type = c[1]; String name = c[0]; if (!map.containsKey(type)) { map.put(type, new ArrayList()); } map.get(type).add(name); } if (map.size() == 30) { return 107..
문제링크 : https://school.programmers.co.kr/learn/courses/30/lessons/181187 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr class Solution { public long solution(int r1, int r2) { long answer = 0; // 그래프의 양인 부분에서 조건에 일치하는 점의 개수를 구하고 거기에 4를 곱한 값이 정답 for (long i = 1; i
문제링크: https://school.programmers.co.kr/learn/courses/30/lessons/154538 import java.util.*; class Solution { public int solution(int x, int y, int n) { // set으로 선언해서 같은 값들이 중복생성 되는 것 방지 -> 경우의 수 낮추기 HashSet set = new HashSet(); // 초기값 대입 set.add(x + n); set.add(x * 2); set.add(x * 3); int count = 1; // x와 y가 같은 경우는 count = 0 if (x == y) { return 0; } while (set.size() > 0) { if (set.contains(y)) ..
1. 들어가기 개발자라면 누구나 올바르게 작성된 코드를 읽으며 즐거움을 느끼거나, 엉망인 코드를 보며 한숨부터 나오는 상황을 겪어본 적이 있을 것입니다. 쉽게 작성된 코드는 무척 중요합니다. 우리는 코딩 대부분의 시간을 코드를 '작성'할때가 아닌 '분석'하는 과정에서 소비하기 때문입니다. 는 설계자가 작성한 코드가 분석되는 시간을 최소화하고 단순하고 직접적인, 의도대로 읽히는 코드를 작성할 수 있는 여러가지의 법칙을 소개합니다. 2. 구성 책은 초반, 중반, 후반 크게 세 가지의 구성으로 나뉘어집니다. 초반부에서는 클린코드 개념설명, 변수 및 함수의 작명법 등 기초적인 법칙에 대해 설명하고 있으며 중반부에서는 실제 오픈소스 코드를 리팩터링하는 과정이 서술되었습니다. 후반부에서는 소개한 클린코드를 정리하고..
링크: https://school.programmers.co.kr/learn/courses/30/lessons/81302 import java.util.*; class Solution { public int[] solution(String[][] places) { int[] answer = new int[places.length]; int count = 0; for (String[] place : places) { char[][] cp = new char[5][5]; for (int i = 0; i < 5; i++) { cp[i] = place[i].toCharArray(); } List p_pos = new ArrayList(); for (int i = 0; i < 5; i++) { for (int j..
import java.util.*; class Solution { private long[] getCrsPositions(int[] a, int[] b) { double A = a[0], B = a[1], E = a[2], C = b[0], D = b[1], F = b[2]; double x = 0; if (A * D - B * C == 0) { return null; } if (((B * F) - (E * D)) != 0 && ((A * D) - (B * C)) != 0) { x = ((B * F) - (E * D)) / ((A * D) - (B * C)); } double y = 0; if (((E * C) - (A * F)) != 0 && ((A * D) - (B * C)) != 0) { y = (..
import java.util.*; class Solution { public int[] solution(int n) { int[][] arr = new int[n][n]; int nu = 1; int d = 0; int w = 0; int mn = 0; int turnPoint = n; int turnCount = 1; String[] modes = { "down", "right", "up" }; int endPoint = 0; for (int q = 1; q < n + 1; q++) { endPoint += q; } while (true) { if (modes[mn].equals("down")) { arr[d][w] = nu; d += 1; } else if (modes[mn].equals("righ..
thisisdj
codenextdoor