for과 remove, del을 이용해서 item 삭제 시 유의할 점.
N, X = map(int, input().split()) data = list(map(int, input().split())) for i, d in enumerate(data): print(i, d) if d > X: del data[i] print(data) 위와 같이 for 과 remove, del을 이용해서 item을 삭제 반복하는데, 삭제된 바로 다음 item들은 무시하고 지나가는 문제가 있었다. 문제는 단순하게 remove, del을 수행하게 되면 원본의 list의 item이 삭제 되기 때문에 그 시점의 list에서 반복이 실행되게 되므로, index가 맞지 않는 문제가 발생된다. 따라서, 위 같은 구문을 수행하려면 복사본 list를 만들고 그에 따라서 필요한 구문을 작성해야 한다. N, X ..
HackerRank | String Formatting
숫자나 문자를 주로 다루는 데서 필요한 String Formatting 방식 정리. 깔끔하게 정리된 print 구문을 보고 싶을 때 필요할 듯. 일상에서는 굳이 많이 쓰이지는 않을 듯. def print_formatted(number): # your code goes here l1 = len(str(bin(n))[2:]) for i in range(1,n+1,1): print(str(i).rjust(l1,' '),end=" ") print(oct(i)[2:].rjust(l1,' '),end=" ") print(((hex(i)[2:]).upper()).rjust(l1,' '),end=" ") print(bin(i)[2:].rjust(l1,' '),end=" ") print("") if __name__ ==..