알고리즘 기초문제 문자열

문자열 반복, 단어의 개수 (백준)




정올에 이어 백준 문자열 문제까지 마스터~

백준에 꽤 까다로운 문제가 많이 나와서

시간이 좀 오래 걸린 듯 하다.





1. 문자열 반복




말 그대로 입력된 숫자만큼 문자를 반복해서

출력하면 되는 문제다. 이중 for문으로 간단하게

해결 가능하기 때문에 주석은 달지 않았다.




2. 단어의 개수


알고리즘 기초 문자열 문제를 풀면서

함정이 많이 있다고 느꼈는데 그 중 가장 대표적인 문제다.




항상 느끼지만 알고리즘 기초 문제 중에서도

문자열은 특히 더 중요하기 때문에 더욱 신경 써서 해둬야겠다.


DFS, BFS, 다이나믹 등등 주요 알고리즘도

풀어야 하는데.. 너무 어려워서 풀기 싫네..

다이나믹 알고리즘 (동적 계획법) 두 줄로 타일 깔기 (정올)




점화식을 세우는 것이 가장 중요한 부분이란다.

이 문제에 대한 점화식을 미리 알고 들어갔기 때문에

수월하게 풀었다. 즉, 점화식만 잘 세운다면 쉽게 풀 수 있다는 거





다이나믹 알고리즘이라는 게 대충 어떤 것인지는 알 수 있었다.

기존의 데이터를 차곡차곡 저장해 놓고

그 데이터를 바탕으로 값을 계산해 나간다는 것.




다음 문제부터는 다이나믹(동적 계획법)의 핵심인

점화식을 직접 구해보면서 공부해 나가도록 하겠다.





사실 문제를 제대로 읽지않아 20100529 이 부분이 왜 들어가는지 한참 찾았다.

이 것만 아니었어도 3분 내에 해결 됬을 듯..( 당연 점화식을 알고 있었기 때문에)


다이나믹(동적 계획법) 에 대해 맛만 보는 시간을 가졌다.

자 다음문제 점화식을 세우러 go go

문자열 알고리즘 기초 문제

상수 , 다이얼 , 크로아티아 알파벳 (백준)


01. 상수




왜 냈는지 의도를 모르겠다..

기존 문자열 문제보다 상당히 쉽다.




02. 다이얼




알고리즘 기초 문자열 문제 02. 다이얼

처음에 이런 식으로 풀었는데 가독성이 상당히 안좋다.

3중 for문을 썻기 때문에 입력의 크기가 컸다면

상당한 시간복잡도를 보일 것이다.




그래서 다른 사람들은 어떻게 풀었나 보니까

모두 if문 아니면 switch로 풀었더이다.

난 스위치를 좋아하기 때문에 스위치로 한번 더

근데 하드코딩을 하는 듯한 느낌




03. 크로아티아 알파벳




상당히 고민을 많이 했다.

새벽이라 집에 빨리 가고 싶기도 하고

집중도 안되고, 이리저리 해보다가 풀렸다.

함수를 적절히 이용해야겠다는 생각..?




알고리즘 기초 문자열 문제를 풀어보았다.

문자열 문제는 다른게 아니고 항상 형변환에 대해

고민을 안할 수가 없는데, 한번 날잡아서

형변환에 대해 정리하는 시간을 가지겠다.




+ Recent posts