소스 검색

Nim day 5

master
Chris Smith 5 년 전
부모
커밋
a26c9ec929
1개의 변경된 파일19개의 추가작업 그리고 0개의 파일을 삭제
  1. 19
    0
      day05.nim

+ 19
- 0
day05.nim 파일 보기

1
+import sequtils, strutils
2
+
3
+proc react(polymer: seq[char], skip: char): seq[char] =
4
+    var count = 0
5
+    for c in polymer:
6
+        if c == skip or (ord(c) xor ord(skip)) == 32:
7
+            continue
8
+        if count > 0:
9
+            if (ord(c) xor ord(result[count - 1])) == 32:
10
+                result.delete(count - 1)
11
+                count -= 1
12
+                continue
13
+        result.add(c)
14
+        count += 1
15
+
16
+let polymer = toSeq(readFile("data/05.txt").strip.items).react(' ')
17
+
18
+echo polymer.len
19
+echo min(toSeq('A'..'Z').map(proc(c: char): int = len(polymer.react(c))))