인프런 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 를 첨가하여 만든 이름
  • 고구마와 감자
    Amor DevFati(아모르 개발파티)
    고구마와 감자
  • 전체
    오늘
    어제
    • 분류 전체보기 (156)
      • Loopers 2기 (4)
      • 스프링 (5)
      • 알고리즘 (113)
        • 백준 (70)
        • 프로그래머스 (7)
        • 인프런_자바코테강의 (20)
        • 리트코드 (5)
        • 해커랭크 (0)
        • 코드업 (3)
        • 이것저것 (7)
      • 자바 (7)
      • GIT (0)
      • 파이썬 (1)
      • 개발이론 (4)
      • JPA (0)
      • 김영한 강의 (13)
        • 모든 개발자를 위한 HTTP 웹 기본 지식 (2)
        • 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 (6)
        • 스프링 핵심 원리 - 기본편 (5)
      • 일기 및 아무말 적기 (6)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    할로윈의 사탕
    남욱이의 닭장
    3059
    5988
    조교는 새디스트야!!
    11023
    10178
    등장하지 않는 문자의 합
    16673
    그대로출력하기2
    전투 드로이드 가격
    2의 제곱인가
    14656
    Mini Fantasy War
    2921
    더하기 3
    4458
    5361
    꼬리를 무는 숫자 나열
    백준
    고려대학교에는 공식 와인이 있다
    첫 글자를 대문자로
    1247
    홀수일까 짝수일까
    11966
    10409
    스프링 핵심 원리
    1598
    카이사르 암호
    2857
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
고구마와 감자
인프런 10. 가장 짧은 문자 거리 (Java)
상단으로

티스토리툴바