## my difficulty: easy

**sol1) brute force**

This was accepted but runtime was also 4000ms(not acceptable for me). because its time complexity is O(n²)

**sol2) slicing**

by slicing the substring, we can reduce time complexity to O(n)

## my difficulty: easy

**sol) implementation**

algorithm was not complex. but creating new node was a little bit annoying. I create new node when carry has been generated or nodes are remained to perform addition

## my difficulty: super easy

**sol1) dictionary**

nothing to explain

## my difficulty: super easy

**sol1) python’s library**

nothing to explain. but its time complexity is O(n²)

**sol2) indexing**

as Follow-up 1’s asked, What if the given array is already sorted? I think the time complexity can be optimized by O(n)

## my difficulty: normal

**sol) indexing**

solving in an in-place way was not easy.

Key idea was swapping all the non-zero numbers to the first zero

## my difficulty: super easy

**sol) math**

fortunately, there is only one missing number, difference between sum of 0~n and sum of nums will be answer

## my difficulty: super easy

**sol1) sorting**

anagram means each character’s number of appearance is same. so if some words are anagram, sorting their characters will be same

**sol2) iteration**

as I said above, to check whether some two words are anagram, we can count their characters. and then compare each character’s number of appearance is same or not.