0909 TIL

알고리즘 문제 풀이

  • [그리디] 프로그래머스 조이스틱 문제 해결

  • 특이점
    1. 상하는 아스키코드를 이용
    2. 좌우는 왼쪽에서 오른쪽으로 이동한 경우와 연속으로 A가 나타난 경우를 계속 갱신

  • 2번에 대한 문제 설명

  • 코드

class Solution2 {
    public int solution(String name) {

        int answer = 0;

        // 좌 -> 우 : 평범하게 오른쪽으로 이동할때
        int min=name.length()-1;

        for (int i=0;i<name.length();i++) {
            // 상 하 이동
            char c=name.charAt(i);
            // C 68, A 65 = 3
            // Z 120 C 68 = 120 - 68 +1 (Z로한칸 이동한것)
            int upDownMove=Math.min(c-'A','Z'-c+1);
//            System.out.println(upDownMove);
            answer+=upDownMove;


            // 다음 수가 A가 나오는 경우를 계산
            int next=i+1;
            // 연속된 A가 나오는 경우 계산
            while (next<name.length() && name.charAt(next)=='A') {
                next+=1;
            }
            // min 값 갱신
            min=Math.min(min,i+i+name.length()-next);
        }

        answer+=min;
        System.out.println(answer);

        return answer;
    }
}

참고한 블로그
https://bellog.tistory.com/152

프로그래머스 교육

  • 웹의 구성 요소 : HTTP, URI, HTML

  • URI : 기본 URI Scheme + 호스트명 + Path로 구성
    - http://blog.example.com/shop/23?q=test

    • scheme : http
    • host : blog.example.com
    • path : /shop/23
    • 쿼리 파라미터 : q=test
  • URI는 주로 상대경로를 이용해서 설계 (시작점을 고정해놓고)

  • URL? URI? URN?

  • HTTP 메시지 포맷 : Header(Request+General+Representation) + Body 로 구성

  • HTTP CRUD 메소드

    Create : POST/PUT
    READ : GET
    UPDATE : PUT
    DELETE : DELETE

읽어볼 사이트
https://developer.mozilla.org/ko/docs/Web/HTTP/Overview

  • 웹의 기술적 특징
    1. 하이퍼미디어 미디어시스템
    2. 분산 시스템

  • CDN (Content delivery/distribution network)
    - 일종의 캐싱, 인터넷 서비스 제공자(ISP)에 직접 연결되어 데이터를 전송하므로, 콘텐츠 병목을 피할 수 있는 장점

  • 웹의 구성요소 : HTTP, URI, HTML

  • WEB과 WAS의 차이점

  • MVC 패턴

자세한 설명
: https://www.notion.so/1-Servlet-fcf7c7d333814ac4b981dc6fedf017d4

좋은 웹페이지 즐겨찾기