본문 바로가기

전체 글37

Http request method와 Springboot의 Annotation Http request method : GET / HEAD / POST / PUT / DELETE / CONNECT / OPTIONS / TRACE / PATCH 이 중에서 GET / POST / PUT / DELETE 방식에 대해 Spring에서 데이터를 받는 방식 5가지를 배움 당분간은 계속 확인할 일이 생길 것 같아 블로그에 기록해 두기로 함 Spring Controller HTTP Request Annotation 생략 가능 여부 @PathVariable X GET, http://~~~/{data} @RequestParam O GET, http://~~~/query?key=value&~ POST Header Content type : application/x-www-form-urlencoded B.. 2023. 10. 30.
Week02 회고 보호되어 있는 글 입니다. 2023. 10. 30.
비트 이동 연산자 (>>>) int[] 에서 특정 정수와 일치하는 값이 있는지 확인하는 코드를 짜다가 Arrays.binarySearch를 봄 이진 탐색 알고리즘은 대충 알고 있어서 java 안에서 어떻게 구현되어 있는지 들여다 봄 private static int binarySearch0(int[] a, int fromIndex, int toIndex, int key) { int low = fromIndex; int high = toIndex - 1; while (low >> 1; // >>는 알고 있었는데 >>> 이것은 또 무엇인가... int midVal = a[mid]; if (midVal key) high = mid - 1; else return mid.. 2023. 10. 24.
삽질 ep.2 (feat. replaceAll) 이번엔 입력 String의 부분 문자열 중에 "one", "two", ...이 있으면 "1", "2"...로 변환하는 문제였음 - ex) input : "2three45sixseven" -> output : "234567" 키, 밸류가 있으니 map을 쓰기로 결정함 정규식으로 숫자와 문자를 구분함 어제 투포인터 알고리즘을 공부했으니 비슷하게 써먹어 보기로 함 (feat. 커피 2잔...) // 정규식을 이용하여 숫자와 문자를 구분 String[] listS = s.split("(? 2023. 10. 23.
Week01 회고 보호되어 있는 글 입니다. 2023. 10. 23.
삽질 ep.1 (feat. compareTo) 프로그래머스 문제 풀다가 제한 사항을 착각하고 2시간 동안 삽질한 썰임... 문제는 "크기가 작은 부분문자열"이고 제한 사항으로 "p의 길이 < t의 길이 < 10,000"가 있었음 여기서... 함수 매개변수의 순서 "(String t, String p)"와 제한사항의 순서 "p < t < 10,000"를 보면 t, p 순서가 다름 그래서 나는 p의 길이가 10,000이하(10의 10,000승??)인 것으로 착각하고 Long.parseLong은 생각도 안 했음... 결국 .charAt() 메서드로 숫자 하나씩 비교해 가면서 매우 무식하게....... 풀긴 풀었음!! int count = 0; int pLen = p.length(); for (int i = 0; i 2023. 10. 22.
형변환 ep. 1 코딩테스트 문제 풀다가 입력값의 제한 조건으로 "n은 10,000,000,000이하인 자연수"를 만남 - 음.. int로 풀다가는 혼꾸녕이 나겠구나 싶었음... 테스트 몇 개 돌렸더니 잘 돌아가서 사이트에 제출했더니 60점 나옴... // 문제의 코드, 12345를 받아서 [5, 4, 3, 2, 1]을 반환해야 함 public int[] solution(long n) { int[] result = new int[Long.toString(n).length()]; for (int i = 0; i < result.length; i++) { result[i] = (int) n % 10; // 문제의 형변환 n /= 10; } return result; } n % 10을 먼저 연산하고 int로 형변환하라고 시킨 .. 2023. 10. 21.
super this 예외 처리 공부하던 중 Exception을 상속한 클래스의 생성자에 super("어쩌고 저쩌고")를 만남... super는 부모 클래스에 접근하는 거 아닌가? super()는 또 무엇일까? - 자식 클래스의 객체가 만들어질 때 부모 클래스의 객체도 같이 포함하여 만들어짐 - super()는 부모 클래스의 생성자 호출임 - 고로 super("어쩌고 저쩌고")는 Exception 클래스의 public Exception (String message) {}를 호출한 것. 그런데... // 문제의 발단 public class BadInputException extends Exception { public BadInputException(String type) { super("잘못된 입력입니다! " + type +.. 2023. 10. 19.
다형성(Polymorphism) 추상 클래스를 이용하여 사칙연산을 수행하는 계산기 만들기 - 추상화, 오버라이딩의 개념은 이해함 but... 클래스 안에서 다른 클래스를 필드로 받고 메서드에서 그걸 매개변수로 사용하고... 복잡해지기 시작함 - 최종적으로는 Parser 인스턴스만 만들어서 parser.executeCalculator()를 실행하면 됨 - 어떤 클래스를 만들고 거기에 어떤 필드와 메서드를 넣을지 구상하는 과정이 매우 중요할 것으로 생각됨 // 사칙연산 각각의 클래스를 추상화한 추상 클래스 생성 public abstract class AbstractOperation { public abstract double operate(int firstNumber, int secondNumber); } // 추상 클래스를 인스턴스 필드.. 2023. 10. 19.