Algorithm/Programmers

[프로그래머스] A로 B 만들기 - Java

2023. 4. 24. 17:53

문제) 문자열 before와 after가 매개변수로 주어질 때, before의 순서를 바꾸어 after를 만들 수 있으면 1을, 만들 수 없으면 0을 return 하도록 solution 함수를 완성해보세요.

 

제한사항)

  • 0 < before의 길이 == after의 길이 < 1,000
  • before와 after는 모두 소문자로 이루어져 있습니다.

입출력 예)

before after result
"olleh" "hello" 1
"allpe" "apple" 0

 

입출력 예 설명)

입출력 예 #1

  • "olleh"의 순서를 바꾸면 "hello"를 만들 수 있습니다.

입출력 예 #2

  • "allpe"의 순서를 바꿔도 "apple"을 만들 수 없습니다.

풀이)

1. answer, ArrayList 선언 (주어진 after 문자열을 List 형식으로 변환시킴)

2. before의 문자열만큼 반복하면서

3. i 값에 해당하는 before 문자가 after 문자열에 없다면

4. i 값에 해당하는 before 문자가 list에 없다면

5. list에서 해당 index의 문자를 지우기

6. list의 size가 0이면 만들 수 있는거고 아니면 만들 수 없음


import java.util.*;
import java.util.stream.Collectors;
import java.util.stream.Stream;
class Solution {
    public int solution(String before, String after) {
        int answer = 0;
        ArrayList<String> list = (ArrayList<String>) Stream.of(String.valueOf(after).split("")).collect(Collectors.toList());
		
		for(int i=0; i<before.length(); i++) {
			if(after.indexOf(String.valueOf(before.charAt(i))) != -1) {
				if(list.indexOf(String.valueOf(before.charAt(i))) != -1) {
					list.remove(list.indexOf(String.valueOf(before.charAt(i))));
				}
				
			}
		}
		
		answer = list.size() == 0 ? 1 : 0; 
        return answer;
    }
}

 

if문은 왜 한줄에 안 썼는지요. ..?ㅋ ㅋ

이것저것 고치다가 같은 조건인 걸 망각 해부렀나보다...ㅠ

'Algorithm/Programmers' 카테고리의 다른 글
  • [프로그래머스] k의 개수 - Java
  • [프로그래머스] 팩토리얼 - Java
  • [프로그래머스] 모스부호 (1) - Java
  • [프로그래머스] 중복된 문자 제거 - Java
뭐든 해보기
뭐든 해보기
쓰고 싶은 글 아무거나 쓰는 백엔드 개발자의 공간입니당.
뭐든 해보기
두들두들
뭐든 해보기
전체
오늘
어제
  • Programming (57)
    • Language (1)
      • C# (0)
      • Java (1)
    • JavaScript (1)
    • Algorithm (45)
      • Baekjoon (6)
      • Programmers (39)
    • 자격증 (2)
      • SQLP (0)
      • 네트워크관리사2급 (2)
    • Git (4)
    • Docker (2)
    • 이것저것 (1)
    • OS (1)
      • Windows (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 프로그래머스
  • Algorithm
  • 알고리즘
  • baekjoon
  • 랜섬웨어
  • docker
  • 코딩테스트
  • 네트워크관리사2급
  • IT
  • github
  • 티스토리 다크모드
  • IT자격증
  • 깃허브
  • git
  • 백준
  • git 명령어
  • 임시폴더
  • 네트워크관리사2급 필기
  • 네트워크관리사2급 실기
  • 코딩테스트 연습

최근 댓글

최근 글

hELLO · Designed By 정상우.
뭐든 해보기
[프로그래머스] A로 B 만들기 - Java
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.