240312-TIL
3월 12일
오늘은 재밌는 알고리즘 문제풀이 시간을 가져보겠다
푸드 파이트 대회
문제 설명은 이렇다

문제가 길다... 원래 같았으면 문제를 보고 고민을 살짝 해보다 이것저것 도전해보는데
문제가 너무 길기도하고 감기몸살 덕분에 전혀 집중이 되지 않아 문제를 보고 이해하는데 시간이 좀 걸렸다.

제한 사항은 이렇게 된다
즉 food[0]은 물이니깐 food[1] ~ 새야하는데 양쪽에서 같은 음식을 먹어 치우면서 가기 때문에 홀수의 음식은
버리고 계산을 해야 맞는거 같다.

일단 첫번째 반복문을 만들어 주자 food[0]은 물이니까 당연히 i는 1부터 시작한다.

두번째 반복문도 만들어준다 특이하게 j는 0부터 시작해서 food[i]번째 인덱스의 절반 값만큼 반복문을 돌게된다.

입출력 예를 자세히 보면 첫번째 음식이 3개가 있으니 양쪽에 1 1 이렇게 놓아진 모습이 보인다
두번째 음식이 4일때는 두번씩 22 <> 22
세번째 음식이 6개일때는 세번씩 333 <> 333

그렇기에 해당 코드처럼 작성하면 answer 에는

0을 제외한 딱 여기까지 문자열이 들어가게 된다. 자 앞부분 음식을 놓았으니 뒷부분 음식을 만드는건 쉽다

이렇게 뒤집어서 넣어주고

가운데 0이 오게끔 retrun을 해주면 문제는 해결이 될꺼다

와 정말 오랜만에 보는 녀석이다

아하 answer.Reverse()녀석은 IEnumberable<char> 라는 형식이라고 한다... 다 같은 char가 아니였구나...
한참을 해매던 도중

짜란 linq에 String.Concat() 메서드를 찾아냈다.

String.ConCat은 다양한 오버로드를 제공하는데


이녀석을 사용할 수 있을꺼 같다
바로 달려가자

내 생각이 맞았다 Concat을 활용해서 오류난 부분을 고칠 수 있다.

짜란
오늘은 재밌는 알고리즘 문제 하나를 풀어보았다.
지금까지 풀었던 문제중 가장 설명이 긴 문제인거 같기도하구 설명을 읽어 내려가는데 하나도 눈에 들어오지 않아서
더 힘들었던거 같다 + 생각대로 풀리지 않고 발생한 오류까지
그래도 새로운 메서드 하나를 알았으니 그걸로 퉁치자!!
3월 12일 TIL은 여기서 마치도록 하겠다