사용한 자료구조 배열 해결 방법 숫자 0~9에 대응하는 10개의 공간을 가진 배열(리스트)을 미리 생성한다. 주어진 숫자를 문자열형태로 각 자리수를 순회하면서 그 숫자에 대응하는 배열공간을 +1 해준다. 만약 6이나 9인경우는 arr[6]에 +1해준다. 순회가 끝난후, arr[6]은 나누기 2를 해주고 정수가 아니라면 올림을 해준다. 복잡도 N = 주어진 숫자의 길이 O(N) 실수한점 실수형 + 실수형 = 실수형 ex) 0.5 + 0.5 = 1.0(float, not int) 새로운것 # result: 1 int(1.5) 코드 n = input() arr = [0 for _ in range(10)] for num in n: if int(num) == 6 or int(num) == 9: arr[6] += ..
사용한 자료구조 배열 해결 방법 문자 a~z에 대응하는 26개의 공간을 가진 배열(리스트)을 미리 생성한다. 주어진 첫번째 문자열의 문자를 하나씩 순회하면서 문자열에 대응하는 배열값을 +1 해준다. 이 배열을 가지고, 주어진 두번째 문자열의 문자를 하나씩 순회하면서 문자에 해당하는 배열위치의 값이 1이상인지 확인한다. 이후, 해당 값을 -1 해준다. 만약 그 값이 0이라면 두번째 문자열이 가진 문자를 첫번쨰 문자열이 모두 가지고 있지 않다는 뜻이므로 Impossible 출력. 아무런 문제가없이 순회가 끝났다면 Possible 주어진 문자열들을 각각 알파벳순으로 정렬한 리스트화시켜서 두개가 일치하는지 확인하는 방법도 있다. 복잡도 N = 주어진 문자열의 길이 O(N) 실수한점 길이가 다른경우는 imposs..
사용한 자료구조 배열 해결 방법 문자 a~z에 대응하는 26개의 공간을 가진 배열(리스트)을 미리 생성한다. 주어진 문자열의 문자를 하나씩 순회하면서 문자열에 대응하는 배열값을 +1 해준다. 복잡도 N = 주어진 문자열의 길이 O(N) 실수한점 출력방식을 준수하지 못해 오답을 만들었음. 새로운것 convert string to ASCII ord('a') = 97 convert ASCII to string chr(97) = 'a' 코드 s = input() arr = [0 for i in range(26)] for char in s: arr[ord(char)-ord('a')] += 1 for i in arr: print(i, end=" ") Problem from www.acmicpc.net/problem..