File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ # [ Bronze I] 애너그램 - 6996
2+
3+ [ 문제 링크] ( https://www.acmicpc.net/problem/6996 )
4+
5+ ### 성능 요약
6+
7+ 메모리: 9388 KB, 시간: 92 ms
8+
9+ ### 분류
10+
11+ 구현, 문자열, 정렬
12+
13+ ### 제출 일자
14+
15+ 2026년 2월 6일 20:07:29
16+
17+ ### 문제 설명
18+
19+ <p >두 단어 A와 B가 주어졌을 때, A에 속하는 알파벳의 순서를 바꾸어서 B를 만들 수 있다면, A와 B를 애너그램이라고 한다.</p >
20+
21+ <p >두 단어가 애너그램인지 아닌지 구하는 프로그램을 작성하시오.</p >
22+
23+ ### 입력
24+
25+ <p >첫째 줄에 테스트 케이스의 개수(<100)가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 길이가 100을 넘지 않는 단어가 공백으로 구분되어서 주어진다. 단어는 알파벳 소문자로만 이루어져 있다.</p >
26+
27+ ### 출력
28+
29+ <p >각 테스트 케이스마다 애너그램인지 아닌지를 예체 출력과 같은 형식으로 출력한다. </p >
30+
Original file line number Diff line number Diff line change 1+ // /dev/stdin
2+ const fs = require ( "fs" ) ;
3+ let input = fs
4+ . readFileSync ( "/dev/stdin" )
5+ . toString ( )
6+ . split ( "\n" )
7+ . map ( ( x ) => x . replace ( "\r" , "" ) ) ;
8+
9+ const T = input [ 0 ] ;
10+
11+ for ( let i = 1 ; i <= T ; i ++ ) {
12+ const [ A , B ] = input [ i ] . split ( " " ) ;
13+ let result = A + " & " + B + " are anagrams." ;
14+ const sortedA = A . split ( "" ) . sort ( ) . join ( "" ) ;
15+ const sortedB = B . split ( "" ) . sort ( ) . join ( "" ) ;
16+
17+ for ( let j = 0 ; j < sortedA . length ; j ++ ) {
18+ if ( sortedA [ j ] !== sortedB [ j ] ) {
19+ result = A + " & " + B + " are NOT anagrams." ;
20+ continue ;
21+ }
22+ }
23+ console . log ( result ) ;
24+ }
You can’t perform that action at this time.
0 commit comments