Algorithm/HackerRank

Sock Merchant

hamaganatanadda 2019. 6. 26. 14:28

L : https://www.hackerrank.com/challenges/sock-merchant/problem

 

Q : 짝수개인 숫자를 2개 단위로 묶기

 

A : 코딜리티에서 배웠던 xor연산으로 처리

 

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
program sockMerchant;
uses Classes, SysUtils;
var
  ia, ii, iResult : Integer;
  arr : array of integer; 
  TList : TStringList;
  sVal : String;
begin
  Readln(ia);
 
  SetLength(arr,ia);
 
  iResult := 0;
  
  TList := TStringList.Create;
  
  for ii := 0 to ia - 1 do 
  begin
    Read(arr[ii]);
    sVal := IntToStr(arr[ii]); 
    TList.Values[sVal] := IntToStr(StrToIntDef(TList.Values[sVal],0) xor arr[ii]);
    if TList.Values[sVal] = '0' then Inc(iResult);
  end;
 
  Writeln(iResult);
end.
cs

 

'Algorithm > HackerRank' 카테고리의 다른 글

Repeated String  (0) 2019.06.26
Jumping on the Clouds  (0) 2019.06.26