본문 바로가기
코딩테스트/프로그래머스 입문

[코딩테스트 Lv.0] A로 B 만들기

by 블루데이제이 2024. 3. 12.
728x90
반응형
문제 설명

문자열 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"을 만들 수 없습니다.

내 풀이
Java
import java.util.*;
class Solution {
    public int solution(String before, String after) {
        int answer = 0;
        
        char[] a = before.toCharArray();
        char[] b = after.toCharArray();
        
        Arrays.sort(a);
        Arrays.sort(b);
        
        String str1 = new String(a);
        String str2 = new String(b);
        
        answer = str1.equals(str2) ? 1 : 0;
        
        return answer;
    }
}
C
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>

// 파라미터로 주어지는 문자열은 const로 주어집니다. 변경하려면 문자열을 복사해서 사용하세요.
int solution(const char* before, const char* after) {
    int answer = 0;
    
    char* a = before;
    char* b = after;
    
    for(int i = 0; i < strlen(a) - 1; i++){
        for(int j = i + 1; j < strlen(a); j++){
            if(a[i] > a[j]){
               char temp = a[j];
                a[j] = a[i];
                a[i] = temp;
            }
        }
    }
    
    for(int i = 0; i < strlen(b) - 1; i++){
        for(int j = i + 1; j < strlen(b); j++){
            if(b[i] > b[j]){
               char temp = b[j];
                b[j] = b[i];
                b[i] = temp;
            }
        }
    }
    
    if(strcmp(a, b) == 0){
        answer = 1;
    }
    
    return answer;
}
Python
def solution(before, after):
    answer = 0
    
    a = list(before)
    b = list(after)
    a.sort()
    b.sort()

    if a == b :
        answer = 1 
    
    return answer

https://school.programmers.co.kr/learn/courses/30/lessons/120886

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

728x90
반응형