LEVEL2 2

[프로그래머스] 최솟값 만들기- java

문제 설명 1. A와 B배열이 주어진다. 2. 각 노드별 곱한 숫자의 합을 구한다. 3. 다음 과정에서는 이전에 만들어진 숫자에 새로 (2번)과정을 반복한후 더한다. 4. 최소 숫자를 return 하면 된다. 풀이 과정 1. level2 문제라고는 생각도 들지 않을정도로 간단한 구현 문제이다. 2. A와 B를 모두 정렬해 준다. 3. A가 작은숫자이고 B가 큰숫자이면 된다. 4. 이유는 간단한데 앞에 올 숫자는 최소가 되어야 하는데, A의 숫자에 B의 숫자를 곱하는 것이다. 그래서 A는 앞에 무조건 작아야 하고, 뒤에 올 숫자가 지나치게 커지면 안된다. 5. 그렇게 곱한 숫자를 더해주면서 가면 된다. 워낙 간단한 문제라 따로 설명할 내용은 없을 듯 하다 코드

알고리즘 공부 2021.10.29

[프로그래머스] 오픈채팅방 - java

문제 설명 1. 배열에 id, 닉네임, 상태가 주어진다. 상태는 Enter, Leaver, Change이다. 2. Change를 사용하면 그 id를 사용하는 사람의 닉네임이 바뀐다. 3. 사람이 들어오고 나가는 결과를 바뀐 최종 닉네임에 따라 return 하면 된다. 풀이 과정 1. HashMap과 ArrayList를 통해 간단히 구현할 수 있다. 2. 해쉬맵에는 그 사람의 id를 키값, 닉네임을 value값으로 한다. 이렇게 하면 id의 value가 바뀔 때 마다 변경 하능하다. 3. ArrayList에는 그 사람의 id와 출입내역을 저장한다. 그러면 그 id의 사람이 나가거나 들어온 것들을 저장 가능하다. 4. 그럼 상태에 따라 변경하면 된다. 1) 입장한 경우 - HashMap에 id와 닉네임을 넣..

알고리즘 공부 2021.10.21