고구마와 감자
Amor DevFati(아모르 개발파티)
고구마와 감자
전체 방문자
오늘
어제
  • 분류 전체보기
    • 스프링
    • 알고리즘
      • 백준
      • 프로그래머스
      • 인프런_자바코테강의
      • 리트코드
      • 해커랭크
      • 코드업
      • 이것저것
    • 자바
    • GIT
    • 파이썬
    • 개발이론
    • JPA
    • 김영한 강의
      • 모든 개발자를 위한 HTTP 웹 기본 지식
      • 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
      • 스프링 핵심 원리 - 기본편
    • 일기 및 아무말 적기

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 2857
  • 11966
  • 조교는 새디스트야!!
  • 5361
  • 더하기 3
  • 2의 제곱인가
  • 10409
  • 2921
  • 전투 드로이드 가격
  • 5988
  • 고려대학교에는 공식 와인이 있다
  • 백준
  • 홀수일까 짝수일까
  • 남욱이의 닭장
  • Mini Fantasy War
  • 16673
  • 꼬리를 무는 숫자 나열
  • 11023
  • 1598
  • 14656

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
고구마와 감자

Amor DevFati(아모르 개발파티)

인프런 10. 가장 짧은 문자 거리 (Java)
알고리즘/인프런_자바코테강의

인프런 10. 가장 짧은 문자 거리 (Java)

2022. 3. 26. 23:29

 

내 풀이가 없고 강사님 풀이임. 

어려웠다. 

앞에서 뒤로 한번 구하고 뒤에서 앞으로 거리를 구해서 최소값을 찾아서 배열에 담아줌 

public class Main {

    public int[] solution(String s, char t) {
        int[] answer = new int[s.length()];

        char[] x = s.toCharArray();

        int p = 1000;
        for (int i = 0; i < x.length; i++) {
            if (x[i] == t) {
                p = 0;
                answer[i] = p; // t를 만나면 0으로 초기화 하는 것임
            } else {
                p++;
                answer[i] = p;
            }
        }

        p = 1000;
        for(int i = x.length-1; i>=0 ; i--) {
            if (x[i] == t) {
                p = 0; // 같을 때는 그냥 max 초기화, push는 이미 오른쪽 방향일때 했음.
            } else {
                p++;
                answer[i] = Math.min(answer[i], p);
            }
        }

        return answer;
    }

    public static void main(String[] args) {
        Main T = new Main();
        Scanner sc = new Scanner(System.in);
        String[] str= sc.nextLine().split(" ");
        String s = str[0];
        char t = str[1].charAt(0);
        for (int x: T.solution(s, t)
             ) {
            System.out.println(x + " ");
        }
    }
}

 

 

'알고리즘 > 인프런_자바코테강의' 카테고리의 다른 글

인프런 12. 암호(JAVA)  (0) 2022.03.30
인프런 11. 문자열 압축(JAVA)  (0) 2022.03.27
인프런 9. 숫자만 추출 (Java)  (0) 2022.03.25
8. 유효한 팰린드롬  (0) 2022.03.25
인프런 7. 회문 문자열(JAVA)  (0) 2022.03.25
    '알고리즘/인프런_자바코테강의' 카테고리의 다른 글
    • 인프런 12. 암호(JAVA)
    • 인프런 11. 문자열 압축(JAVA)
    • 인프런 9. 숫자만 추출 (Java)
    • 8. 유효한 팰린드롬
    고구마와 감자
    고구마와 감자
    Amor DevFati는 김연자-Amor Fati에 Development(개발)의 Dev 를 첨가하여 만든 이름

    티스토리툴바