Day10
1639 ワード
今日アルゴリズムの問題をするときに習ったことを記録します.は、重複除外を実施する必要がある場合、ストリームを使用するよりも
Setなので重複は解消できますし、TreeSetも自動ソートできます. メッシュ問題を解くときは、必ずx軸y軸の位置を混同して、忘れないでください. A配列の長さに従って繰り返し文を回転し、B配列が自分の要素を巡回し続ける必要がある場合は、残りの%演算子をよく利用します.私は再帰的に近づいたことがありますが、この方法はずっといいと思います.
アルゴリズムの問題を解くときにコードを書くと、そうではないと思うことがあります.いずれにしても、勇気を出して問題を解決するのはいいが、投入した時間のように、学習効果を引き出すべきではないか.一日中私に付きまとうのではなく、適当に考えたら、もっと良いコードを探しましょう.習ったことで次の問題を解決すればいい.上級者のコードでできるだけ早く基礎を熟知します.
また,交換可能配列<>集合のapi(https://codechacha.com/ko/java-convert-set-to-list-and-list-to-set/)を熟知し,問題の要件をよく確認しなければならない.
https://velog.io/@suzinxix/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4-%EB%AA%A8%EC%9D%98%EA%B3%A0%EC%82%AC
TreeSet
を使用する.Setなので重複は解消できますし、TreeSetも自動ソートできます.
int[y축인덱스][x축인덱스]
ex)
int[] first = {1,2,3,4,5};
int[] second = {2,1,2,3,2,4,2,5};
int[] third = {3,3,1,1,2,2,4,4,5,5};
int[] scores = {0,0,0};
// answer배열 길이만큼 순회하며 first, second, third 요소를 계속해서 돌며 어떤 작업을 해야 할 때,
// % 나머지 연산자로 인덱스를 뽑아내면 재귀를 사용할 필요가 없었던 문제.
for(int i = 0; i < answers.length; i++) {
if(first[i % 5] == answers[i]){ scores[0]++;}
if(second[i % 8] == answers[i]){ scores[1]++;}
if(third[i % 10] == answers[i]){ scores[2]++;}
}
振り返る
アルゴリズムの問題を解くときにコードを書くと、そうではないと思うことがあります.いずれにしても、勇気を出して問題を解決するのはいいが、投入した時間のように、学習効果を引き出すべきではないか.一日中私に付きまとうのではなく、適当に考えたら、もっと良いコードを探しましょう.習ったことで次の問題を解決すればいい.上級者のコードでできるだけ早く基礎を熟知します.
また,交換可能配列<>集合のapi(https://codechacha.com/ko/java-convert-set-to-list-and-list-to-set/)を熟知し,問題の要件をよく確認しなければならない.
リファレンス
Reference
この問題について(Day10), 我々は、より多くの情報をここで見つけました https://velog.io/@take/Day10テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol