[그리디] 프로그래머스 조이스틱 문제 해결
특이점
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
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