๐ŸŒท๐ŸŒผ๋ชจ์—ฌ๋ด์š” ๊ฐœ๋ฐœ์˜์ˆฒ๐ŸŒท๐ŸŒผ

[JAVA/์ฝ”๋”ฉํ…Œ์ŠคํŠธ] ์•„๋‚˜๊ทธ๋žจ(ํ•ด์‰ฌ) ๋ณธ๋ฌธ

๊ฐœ๋ฐœ/์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œํ’€์ด JAVA

[JAVA/์ฝ”๋”ฉํ…Œ์ŠคํŠธ] ์•„๋‚˜๊ทธ๋žจ(ํ•ด์‰ฌ)

์š”์ผ์ด 2021. 5. 17. 23:30
๋ฐ˜์‘ํ˜•

์„ค๋ช…

Anagram์ด๋ž€ ๋‘ ๋ฌธ์ž์—ด์ด ์•ŒํŒŒ๋ฒณ์˜ ๋‚˜์—ด ์ˆœ์„œ๋ฅผ ๋‹ค๋ฅด์ง€๋งŒ ๊ทธ ๊ตฌ์„ฑ์ด ์ผ์น˜ํ•˜๋ฉด ๋‘ ๋‹จ์–ด๋Š” ์•„๋‚˜๊ทธ๋žจ์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค๋ฉด AbaAeCe ์™€ baeeACA ๋Š” ์•ŒํŒŒ๋ฒณ์„ ๋‚˜์—ด ์ˆœ์„œ๋Š” ๋‹ค๋ฅด์ง€๋งŒ ๊ทธ ๊ตฌ์„ฑ์„ ์‚ดํŽด๋ณด๋ฉด A(2), a(1), b(1), C(1), e(2)๋กœ

์•ŒํŒŒ๋ฒณ๊ณผ ๊ทธ ๊ฐœ์ˆ˜๊ฐ€ ๋ชจ๋‘ ์ผ์น˜ํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰ ์–ด๋Š ํ•œ ๋‹จ์–ด๋ฅผ ์žฌ ๋ฐฐ์—ดํ•˜๋ฉด ์ƒ๋Œ€ํŽธ ๋‹จ์–ด๊ฐ€ ๋  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์„ ์•„๋‚˜๊ทธ๋žจ์ด๋ผ ํ•ฉ๋‹ˆ๋‹ค.

๊ธธ์ด๊ฐ€ ๊ฐ™์€ ๋‘ ๊ฐœ์˜ ๋‹จ์–ด๊ฐ€ ์ฃผ์–ด์ง€๋ฉด ๋‘ ๋‹จ์–ด๊ฐ€ ์•„๋‚˜๊ทธ๋žจ์ธ์ง€ ํŒ๋ณ„ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์„ธ์š”. ์•„๋‚˜๊ทธ๋žจ ํŒ๋ณ„์‹œ ๋Œ€์†Œ๋ฌธ์ž๊ฐ€ ๊ตฌ๋ถ„๋ฉ๋‹ˆ๋‹ค.

 

์ž…๋ ฅ

์ฒซ ์ค„์— ์ฒซ ๋ฒˆ์งธ ๋‹จ์–ด๊ฐ€ ์ž…๋ ฅ๋˜๊ณ , ๋‘ ๋ฒˆ์งธ ์ค„์— ๋‘ ๋ฒˆ์งธ ๋‹จ์–ด๊ฐ€ ์ž…๋ ฅ๋ฉ๋‹ˆ๋‹ค.

๋‹จ์–ด์˜ ๊ธธ์ด๋Š” 100์„ ๋„˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

 

์ถœ๋ ฅ

๋‘ ๋‹จ์–ด๊ฐ€ ์•„๋‚˜๊ทธ๋žจ์ด๋ฉด “YES"๋ฅผ ์ถœ๋ ฅํ•˜๊ณ , ์•„๋‹ˆ๋ฉด ”NO"๋ฅผ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.

 

์˜ˆ์‹œ ์ž…๋ ฅ 1 
AbaAeCe baeeACA
์˜ˆ์‹œ ์ž…๋ ฅ 2 
abaCC Caaab
์˜ˆ์‹œ ์ถœ๋ ฅ 1
YES
์˜ˆ์‹œ ์ถœ๋ ฅ 2
NO

 

1. ๋‚ด๊ฐ€ ํ‘ผ ๋‹ต

import java.util.*;
import java.io.*;

public class Main {
	
	public void solution(String first, String second) {
		
		HashMap<Character, Integer> map1 = new HashMap<>();
		HashMap<Character, Integer> map2 = new HashMap<>();
		
		String result = "YES";
		
		// ์ฒซ๋ฒˆ์งธ ๋ฌธ์ž์—ด hashmap
		for(char x : first.toCharArray()) {
        	// ํ•ด๋‹น ๋ฌธ์ž๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์ง€ ์•Š์œผ๋ฉด
			if(!map1.containsKey(x)) {
            	// ์ƒˆ๋กœ ์ €์žฅํ•œ ํ›„ 1๋กœ ์ดˆ๊ธฐํ™”
				map1.put(x, 1);
             // ํ•ด๋‹น ๋ฌธ์ž๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฉด ๊ธฐ์กด๊ฐ’์— 1๋”ํ•˜๊ธฐ
			}else {
				map1.put(x, map1.get(x).intValue()+1);
			}
		}
		
		// ๋‘๋ฒˆ์งธ ๋ฌธ์ž์—ด hashmap
		for(char x : second.toCharArray()) {
			if(!map2.containsKey(x)) {
				map2.put(x, 1);
			}else {
				map2.put(x, map2.get(x).intValue()+1);
			}
		}
		// ๋‘ ํ•ด์‰ฌ๋งต์ด ๊ฐ™์ง€ ์•Š์œผ๋ฉด NO ์ถœ๋ ฅ
		if(!map1.equals(map2)) {
			result = "NO";
		}
		
		
		System.out.print(result);
	}

	public static void main(String args[]) {
        Main main = new Main();
		Scanner in= new Scanner(System.in);
        String first = in.nextLine();
        String second = in.nextLine();
        
        main.solution(first, second);
    }

}

 

 

 

 

Comments