- check error(예외상황처리 함수)
- 오른쪽-왼쪽이 1이 아닌 경우
- 페이지 숫자 중에 1, 2, 399, 400이 포함되는 경우
- plus(더하기 함수)
- 한 사람의 페이지 숫자 두개를 입력받아 계산한 값을 비교 후 큰 값을 리턴
- multiply(곱하기 함수)
-
더하기 함수와 동일한 방법
각 자릿수를 구할 때 나누기 연산자를 사용했는데
두자리수나 한자리수 수라면 무조건 0이 곱해지기 때문에 논리 오류를 범했다
따라서 더하기 함수와 다른 방법으로 값을 구해야 한다
-
- compare(포비와 크롱 비교)
- 각자의 최대수를 비교하여 결과(0,1,2) 리턴
- erase(스택 활용하여 중복문자 지우는 함수)
- 스택에 문자 하나씩 넣기
- 현재 문자와 스택의 마지막 문자가 같다면 스택에서 지운다
- 모든 문자를 돌고 나서 스택에 있는 문자들을 합치고 리턴
- clap(3,6,9 세는 함수)
- 1부터 number까지 for문으로 돌면서 '3'. '6', '9'가 몇번 들어가는지 확인
자릿수 확인해주기 위해 while문 사용
- 1부터 number까지 for문으로 돌면서 '3'. '6', '9'가 몇번 들어가는지 확인
- frog(청개구리 사전대로 변환하는 함수)
- 아스키코드를 이용하여 변환한다 대문자는 65-90, 소문자는 97-122 변환 전 문자와 변환 후 문자의 아스키코드 합이 일정하다는 원리를 이용
- change(거스름돈 반환하는 함수)
- 리스트에 화폐 단위를 저장하고 for문을 돌면서 큰 금액부터 시작하여 money를 나눈 후 빼준다
- check(중복 여부 확인 함수)
- 크루 한명씩 두글자씩 다른 크루와 대조하고
중복되는 크루들의 이메일을 set에 저장 set->list로 변환 후 정렬
- 크루 한명씩 두글자씩 다른 크루와 대조하고
- HashMap 사용하여 이름과 점수 함께 저장
- friends 리스트를 참고해서 한사람마다 친구리스트를 갖는 해시맵을 만든다
- connect(연결된 친구 찾는 함수)
- DFS로 함께 아는 친구를 추가
이미 아는 친구라면 value에 10만 더해주고
새로운 친구면 key값에 추가 후 10을 더하고 스택에 연결된 친구 추가
- DFS로 함께 아는 친구를 추가
이미 아는 친구라면 value에 10만 더해주고
- visit(방문한 횟수 세는 함수)
- HashMap에 이미 있는 사람이면 점수만 더해준다
- user와 이미 친구 사이인 사람은 제외해야 함
- 점수 순, 이름 순으로 정렬
- 최대 5개 출력, 조건 충족 인원이 5명 미만이면 충족되는 인원만 출력