주짓수 수련기 7 – Side Mount Escape

요즘 사이드 마운트만 당했다 하면 빠져나오지 못하고 너무 허부적 댄다. 원래 빠져나오기 어려운 자세라고 하지만 연습도 지식도 많이 부족한거 같다. 다음 운동떄는 사이드 마운트 내어 주고 스파링을 시작해볼까 한다.

  1.  제일 처음 배운 기본적인 탈출법
    상대와 내 몸 사이 틈을 만들고 엉덩이 빼기로 틈을 더욱 크게 벌린다. 그리고 재빨리 무릎을 상대 허리 깊숙이 밀어넣어 가드 자세를 취한다. 나의 경우는 무릎 넣는 타이밍에 문제가 있는지 허리를 빼앗기 전에 다시 사이드 마운트로 원상 복귀가 되어버린다. 초반 빈공간 만들때 체력 소모가 좀 큰게 단점인거 같다.

    – 공간 만들기 위해 몸을 좌우 브릿주 해주는게 포인트인 영상

    – 빈틈을 만들기 위해 브릿지를 강조해주는 영상

    – 기본 외에 몇가지 응용이 있는 영상
  2. 힙롤 이라고 하는거 같던데 1번보다 체력소모도 작고 효과도 확실한거 같다. 다만 삑사리 나면 백을 잡혀버리는 리스크가 있다. 몇번 시도했는데 아직 성공한적은 없다.

  3. Elbo Push 라는데 안배워서 그냥 혼자 시도해봐야 겠음
  4. 음 이건 색다른데?
  5. 그외, 참조하면 좋은 영상

주짓수 수련기 6 – Lasso Guard

얼마전에 배우게 된 라쏘 가드

한팔(왼팔)로 상대의 맞은편 팔(오른팔) 소매를 잡고 같은 방향 다리(왼팔)로 다시 얽어매어 고정시키는 형태의 가드. 소매를 강하게 잡고 있어야 해서 손가락에 부담이 꽤 되는데 다리로 옭아매는 부분 때문인지 상대를 압박하는 힘이 은근 강력하다.

  1. 기본 세팅 – 일반 오픈(혹은 클로즈) 가드 상태에서 라소 가드로 전환,
  2. 제일 처음 배운 스윕
  3. 두번째로 배운 오모플라타 전환
  4. 세번째로 배운 lassor to x-guard 스윕
  5. 오모플라타 전환 좀 어려운거 (데굴데굴?)
  6. 기타 등등등……
  7. 라소 가드 패스 – 이건 아직 제대로 못배워서 @_@

주짓수 수련기 5 – X-Guard Sweep

본 주짓수 도장에서 배운 X-Guard 후 백으로 넘어가는 것 외에 몇개가 더있어서 퍼옴

대충 4가지 sweep 방법이 있는듯 하다.

1. 본 주짓수에서 배운 x가드 후 상대 등으로 넘어가기 영상

2. x가드후 상대를 전방으로 넘어뜨린 후 가드 패스
3. x가드후 상대를 위쪽으로 넘긴 후 가드 패스
4. x가드후 상대 등쪽으로 넘기고 가드 패스
x가드 까지 가는 과정이 좀더 상세히 나온 영상

연습 부족으로 블루 벨트에게 써먹다가 역공당했던 기술 ㅠ.ㅠ

LeedCode – Longest Substring Without Repeating Characters 문제풀이 (난이도:중)

LeedCode – Longest Substring Without Repeating Characters 문제풀이 (난이도:중)

Given a string, find the length of the longest substring without repeating characters.

Examples:
Given “abcabcbb”, the answer is “abc”, which the length is 3.
Given “bbbbb”, the answer is “b”, with the length of 1.
Given “pwwkew”, the answer is “wke”, with the length of 3. Note that the answer must be a substring, “pwke” is a subsequence and not a substring.

public class Solution {
    public int lengthOfLongestSubstring(String s) {
        boolean[] cache = new boolean[255];
        int count = 0;
        int maxCount = 0;
        int head = 0, tail = 0;
        while(head < s.length()){
            if(cache[s.charAt(head)] != true){
                cache[s.charAt(head)] = true;
                maxCount = Math.max(head-tail+1, maxCount);
                head++;
            }
            else{
                cache[s.charAt(tail)] = false;
                tail++;
            }
        }
        
        return maxCount;
    }
}