arisong   2년 전

출력이 문제인 건 압니다...

코드 12번째 줄부터 봐주세요 ㅠㅠ

print(cnt)를 바로하면 쭉 붙어서 출력이 되니까 나누려고

cnt2로 맵핑할 때, 제멋대로 들어가져서 i값이 마구잡이로 찍히는 것 같더라구요ㅠㅠ

근데 매핑안해주면 한줄이 아니라 쭉 붙어서 출력이 되는데...

출력을 어떻게 수정해야 할까요?

mohome   2년 전

cnt2 없이 cnt 출력을 해봤어요

Array( cnt ).forEach {

  print($0)

}

mohome   2년 전

 cnt2를 살려 수정을 하자면

1.

for i in 0 ..< cnt2.count {

  print( cnt2[i] )

}

2. 

for i in cnt2 {

  print( i )

}

입니다.

올려주신 소스가 마구잡이로 찍히는 이유는

for문 때문인데요

for 문의 in 뒤에

Int ... Int 와 같은 Range<Int> 를 작성한다면, i는 Range 내에서 1씩 증가하는 변수가 되고,

Array 가 온다면 해당 Array의 첫 원소의 값으로, Array를 끝까지 탐색할 것입니다.


올려주신 소스의 for i in cnt2 의 경우에 i 자체가 배열의 원소값 입니다

예를 들면, 

cnt[0] 의 값은 3인데, 3을 다시 인덱스로 넣어

cnt[3] 이 출력되는 식으로 꼬인 것 같습니다.

i 를 cnt2 의 index로 사용하시려면 수정 1번 소스, 

i 를 cnt2 의 원소로 사용하려면 수정 2번 소스 참고하시면 될 것 같습니다.



arisong   2년 전

와 넘 감사합니다! cnt2 살리는 부분 해설은 아직 완벽하게 이해 안가지만 몇 번 더 읽어보면 이해 되겠죠? 감사합니다 !!

댓글을 작성하려면 로그인해야 합니다.