티스토리 뷰

var 
a : array[1..90] of integer;
i, j, n : Integer;
c : char;
b : array[1..12] of Char;

begin

b := 'BRONZESILVER';

readln(n);
for i:=1 to n do
 begin
 read(c);
 a[byte(c)] := a[byte(c)] + 1;
 end;

i:=1001;
a[byte('E')] := a[byte('E')] div 2;
a[byte('R')] := a[byte('R')] div 2;

n := 12;
for j:=1 to n do
 begin
 if a[byte(b[j])] < i then i := a[byte(b[j])];
 end;

write(i);
end.

 

풀이 : 문자별로 입력된 개수 만큼 + 을 해준다음, E와 R은 중복이므로 2로 나눠서 정수부분만 취한 다음

 

B R O N Z E S I L V E R 중 가장 작은 개수를 답으로 출력하면 됩니다.

 

https://www.acmicpc.net/problem/29713

 

29713번: 브실이의 띠부띠부씰 컬렉션 🍪

첫 번째 줄에는 모은 알파벳 띠부띠부씰 개수 $N$ 이 주어진다. $(1 \le N \le 1\,000)$ 두 번째 줄에는 알파벳 대문자로 이루어진 $N$개의 알파벳 띠부띠부씰이 나열된다.

www.acmicpc.net

 

최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함