2023. 4. 18. 21:50, 알고리즘/BOJ
이 형태의 코드에서 tie(curX,curY,curZ)=cur; 이 형태의 쓰임에서 tie가 무엇을 의미하는지,
그리고 tie(curX,curY,curz)=cur; 형태가 어떤 연산을 하는것인지 몰라서 검색도 해보고 고민도 해보았다.
일단은 아래 tie라는 부분에 대해서 검색해본 내용을 첨부하면,
이렇게 tie()함수를 사용하여서 튜플로 묶인 변수 'cur'의 값을 각각 변수 curX, curY, curZ 에 할당하는 부분이라고 나오는데,
tie()로 세 원소를 묶어서 튜플로 만들고, cur의 경우는 auto cur=Q.front();를 통해서 튜플로 처음에 push 해준 초기 값들의 튜플값을 cur이라는 곳에 복사해서 넣는걸 의미하니까,
이 각각의 원소들을 tie를 통해 묶어서 하나로 표현한 튜플에 대입해주는 연산이고,
그런 과정을 통해서 cur의 튜플의 각 원소에 대한 연산을 curX, curY, curZ로 나누어서 실행시키겠다는 의미로 이 코드를 작성한것으로 보인다.
현재까지는 주로 2차원 배열에서의 문제들을 풀다보니까 tuple을 많이 다룰 일도, 그리고 tie()를 사용할 일도 없었는데,
만약 또 3차원 배열에서의 문제가 나와서 접근해야 한다면, tie()함수의 사용하여서 각각의 인자에 대한 대입을 통해서 각 원소에 대한 처리를 해줄 수 있는 방법이 이렇게 된다는것을 떠올려보도록 하자.
'알고리즘 > BOJ' 카테고리의 다른 글
c++ 아주 큰 수를 다룰 경우 __int128에 대하여. (0) | 2023.04.21 |
---|---|
boj 16120번 문제와 연관된 string으로 입력을 받았을때, 글자의 숫자를 알아내서 for문을 몇번 돌릴지에 사용하는 방법에 대하여. (0) | 2023.04.20 |
c++ -1이 포함된 형태의 cin에서 char로 받는것의 부적절성에 관하여. (0) | 2023.04.18 |
c++ cin을 이용해서 공백없이 쭉 이어서 주어진 행렬형태 입력받기. (0) | 2023.04.18 |
c++ 11 이상에서 사용 가능한 range based 'for' loop에 관하여. (0) | 2023.04.18 |
Comments, Trackbacks