처음에는 어떻게 쓰는건지도 헷갈렸던 백준 사이트와 solved.ac 사이트

여기저기 기웃거리며 며칠 쓰다 보니 이제 좀 익숙해졌고 요 며칠 열심히 푼 문제들로 티어도 없던 내가 브론즈로 등극했다

브론즈도 가만히 되는게 아니었다ㅋㅋㅋㅋ

여기까지 공부하면서 기록할 만한 내용들을 정리해 봤다

 

# 개행 시 endl 보다 "\n" 쓰기!

며칠 전 문제를 푸는데 아무리봐도 맞는데 계속 시간초과가 뜨는 문제가 있었다

진짜 모르겠다 싶어 검색해 봤더니 endl을 게속 사용하게 코드를 짰더니 시간초과가 났다는 거였다

 

그동안 줄바꿈을 할 때는 cout<<"aa"<endl;  방식으로만 사용했었는데 이게 시간초과를 유발할 지는 몰랐다

이유를 찾아보니 endl은 개행+내부 버퍼 비워주기 까지 작동하므로 시간이 더 걸린다고 한다

앞으로는 "\n" 으로 사용해야겠다!

 

 

 

#백준 10818번 최소, 최대 값 구하기 문제

값을 정렬하는 내 코드

for문을 두 번 돌려서 배열에 저장한 값들을 오름차순으로 정렬하는 코드를 짠 뒤 맨 앞,뒤 값을 최소, 최대 값으로 출력하는 코드를 작성하였더니 시간초과가 떴다.

코드를 작성하면서도 이렇게 풀면 필요없는 값들까지 다 정렬하는 셈이 되니 시간초과가 되지 않을까 싶으면서도 일단 작성을 해보았는데 역시나였다.

 

다시 수정해 보았다

전에 과제로 최소, 최대 구하는 문제는 무조건 해봤을텐데 열심히 기억을 더듬고 생각을 돌리면서 코드를 짜보았다

그리 어려운 문제는 아니었다

값 하나를 빈 곳에 저장하고 그 다음 값들을 연속적으로 비교,저장하는 방법으로 풀었다.

 

맞았습니다!

 

 

 

+ Recent posts