배열을 잘 활용할 수 있는가? 묻는 문제이다. 없음 일단 완벽한 체스말 갯수를 담은 배열을 만들고, 사용자가 입력할 배열을 하나 만들었다. 그리고 체스 말 종류 (6개) 만큼 돌면서 (온전한 체스말 갯수 - 사용자가 입력한 체스말 갯수) 를 해주었다. 딕셔너리를 사용해서 풀어볼까? 했는데 시간복잡도 상에서 더 좋은 성능을 내는지 잘 몰라서 일단 배열로 풀어봤다.. 딕셔너리 관련 시간복잡도를 더 공부해보고 도전해봐야겠다!
반복문과 산술연산자를 사용할 줄 아는지 묻는 문제 vsc에서의 출력결과는 정답으로 나왔지만, 백준에서는 NameError 발생. NameError가 떴다는 것은 존재하지 않은 변수를 사용하고 있다고 생각해서 if문을 사용, 입력받은 리스트들의 길이가 0이 아닐때 해당 문제를 수행하도록 설정했다 그랬더니 정답처리가 되었다!
산술연산자, 반복문, 배열을 다룰 수 있는지 묻는 문제이다. 없음. 처음에는 리스트형태로 입력받고, 정답을 다룰 배열을 하나 만들었다. 그 다음 log 변수가 입력 리스트를 돌면서 log*log 형태로 정답 배열에 담기게 되고, 그 배열의 value를 모두 더하여 %10 연산을 해주었다. 깔끔하게 정답처리 되었다.
이 문제도 마찬가지로 파이썬의 산술연산자를 사용할 수 있는가를 묻는 문제이다. 마찬가지로 VSC상에선 아무런 문제가 없었다. 하지만 백준 사이트에서 채점시 ValueError가 떴다. 처음에 코드는 정수를 A, B = list(map(int, sys.stdin.readline())으로 입력 받았다. 하지만 문제에선 한 줄에 받는 것이 아닌 두 줄에 걸쳐 입력을 받았다. 그래서 A와 B를 따로 입력받았다. 시도했던 방법이 맞았다. 한 줄에서 입력을 다 받는 것이 아닌, 두 줄에 걸쳐 따로 입력받으니 바로 정답처리 되었다. ps. 지금까지 아무리 풀기 쉬운 간단한 문제여도, 예상치 못한 에러들이 많이 떴다. 간단한 코딩문제라고해서 방심하면 안되겠다! 문제의 조건, 의도를 정확히 파악하고 코딩하는 습관을 다시..