whileTrue: if count == n: print(name-1) break else: check = 0 for i in str(name): if i == "6": check += 1 if check == 3: count += 1 continue else: pass else: check = 0 name += 1
Go도 같은 방식의 풀이지만, string을 for문에 돌릴때 반환되는 값은 포인터 값이므로 string(x) 로 바꿔주는것만 주의 참조
string을 int로 바꿀때 strconv.ParseInt 를 사용했으나 strconv.Atoi를 사용해도됨
for i := 1; i < n; i++ { sum := i for _, j := range strconv.Itoa(sum) { k, _ := strconv.ParseInt(string(j), 10, 8) sum += int(k) } if sum == n { fmt.Printf("%d", i) break } elseif i == n-1 { fmt.Printf("%d", 0) } } }