미주알고주알 ----------동영상 링크 TEST TEST TEST
Switch를 사용하는 경우
여러 b:elseif 태그가 있는 b:if 태그를 사용하는 것처럼 b:switch 태그를 사용할 수 있다. Switch 분기의 장점은 변수 이름을 반복할 필요가 없다는 것이다. 각 케이스에 정의된 것과 기본 케이스를 쉽게 읽을 수 있다.
형식
<b:switch var='[Data expression]'>
<b:case value="[Value 1]" />
[var의 평가 값이 Value 1과 같으면 출력.]
<b:case value="[Value 2]" />
[var의 평가 값이 Value 2와 같으면 출력.]
[… 기타 다른 값]
<b:default />
[var의 평가 값이 b:case에 지정된 값과 같지 않으면 출력.]
</b:switch>
예
이 예는 렌더링되는 페이지 유형에 따라 다른 헤더를 출력하는 방법이다.
<b:switch var='data:blog.pageType'>
<b:case value="static_page" />
<h1>페이지</h1>
<b:case value="item" />
<h1>게시물</h1>
<b:default />
<h2>블로그 게시물</h2>
</b:switch>
표현식을 사용하는 경우
expr 속성을 사용해 데이터 사전의 값에 따라 속성 값을 설정할 수 있다.
예
<a expr:href='data:blog.homepageUrl'>홈</a>
블로그 홈페이지 URL이 설정된 홈 링크.
<a expr:href='data:blog.homepageUrl + "feeds/posts/default"'>게시물 RSS</a>
블로그 게시물의 RSS 피드 URL이 설정된 링크. ‘+' 연산자는 2개 문자열을 연결한다.
<a expr:class='data:post.allowComments ? "comment" : "no-comment">댓글</a>
댓글이 허용되는 경우 'comment' 클래스, 허용되지 않는 경우 'no-comment'로 설정된 링크다. 3항 연산자(?:)는 특정 부울 값을 취한 후 부울 값이 참이면 ? 다음의 첫 번째 값을 선택하고 부울 값이 거짓이면 : 다음에 있는 두 번째 값을 선택한다.
- 데이터 구조 알고리즘
- 피보나치 수열의 최적화
- DFS 그래프 깊이 우선 탐색 알고리즘
시간 복잡도 : 0(2^N) 에서 => 0(N) 으로 단축
- BFS 그래프 넓이 우선 탐색 알고리즘