코드가 짧아진다고 그게 간단해지는건 아니긴 한데 중복되거나 불필요한 부분 ( 따로 if로 numMin에 대입하는거랑.. ~어차피 for문에서 i가 0이면 안돌기 때문에 if문 필요없음~ if문 두개 중복되는거 i - j > 5랑 numMin <= arr[i]) 그리고 일부러 의도한건지 아니면 막 짜다보니 그런건지 몰라서 일단 아래 if문은 냄겨둠 합치면 3줄 줄어들긴 하는데 로직이 바뀌니까.. 아! 그리고 이거 컴파일 안해봄 ㅎㅎ
C언어 코드정리..
0xDEADB..(58.142)
2016-12-28 01:20
추천 1
댓글 23
다른 게시글
-
VLA는 머임? [8]광광(210.216) | 16.12.28추천 0
-
중고등학교 수학 수능에 필요한 과정만 공부해도 되냐? [1]ㅁㅁ(183.103) | 16.12.28추천 0
-
고향에온 기분이다. 맛탱이 깔았다.. [8]ㅇㄱㄹㅇㅂ..(59.23) | 16.12.28추천 0
-
하...오늘도 보람찬하루옇다Sloth(tjfqld1821) | 16.12.28추천 0
-
천재의 공부법Sloth(tjfqld1821) | 16.12.28추천 0
-
수능수학좋은점 [2]iddqd(221.142) | 16.12.28추천 0
-
님들 클리너 쓸 수 있는거 뭐있나요?익명(112.186) | 16.12.28추천 0
-
새우탕컵vs사리곰탕컵 [4]iddqd(1.249) | 16.12.28추천 0
-
님덜 싱글톤은 그냥 안전을 위해서 존재하는 건가여 [2]@(1.239) | 16.12.28추천 0
-
내 클래스의 멤버변수는 모조리 final이당 [2]@(1.239) | 16.12.28추천 0
아 뭐야 위에꺼 무시하셈
아 잠깐 더 줄일 수 있겠다. numMin = arr[j]인데 왜 numMin이랑 arr[j]의 크기를 비교함? 이거 빼
짧게 말고, 심플하게 하고 싶어요
심플하다는게 이해하기 쉽게를 말씀하신다면 주석을 달아보세욤
코드를 이해 못하는게 아니고, 저코드를 논리적으로 바꾸면, 몇몇 답이 안맞아요...
보시며, 알고리즘은 쉽잖아요 그런데, 이게 알고리즘의 스타일을 바꾸면 계속 삑사리가 나요
그리고 변수명도 일관성 있게 짓구요. Minimum은 numMin인데 Maximum은 max? val은 뭐하는건지? temporary value라고 따로 명시하면 더 보기 쉽지 않을까요?
얌마 밑에 말했듯 니가 첨에 가비지랑 xor 하잖아
그야 논리적으로 바꾸면 당연히 결과가 바뀌죠. 저 흐름을 따르되 중복되는 부분과 불필요한 부분을 제거하는것 까지가 Simplify 단계라 봅니다.
그리고 두 번째 for 문 시작이랑 if( i - j > 5 ) break; 보면 뭐 느껴지는거 없냐?
codesaf님 가비지랑 xor 하진 않을것 같아요. 왜냐면 애초 코드에서도 그렇고 i가 0이면 for문을 안돌거든요.
i - j > 5 란 말은 i - 5 > j 란 말이고 for 문 시작 자체를 j = i - 1 이 아니라 j = i - 5 라고 하면 되는거지.
가령, j-- 형식을 j++ 형식으로 바꾼다던지.... 이런거 말이예요
아 그건 그렇네. 그냥 i > 0 이 부분을 빼고 두번째 for 문 끝나고 numMin = arr[ i ]; 하면 됨.
그리고 그럴꺼면 난 scanf( "%d", &numMin ); arr[ 0 ] = numMin; 후 첫 번째 for 문을 1 부터 돌겠음.
아니 `란씨맨` 님아!! j-- -> j++ 이런식으로 바꾸면 당연히 Logic이 바뀌니 Flow도 바뀌고 Result도 변하겠죠!! printf("Hello world");를 printf("Bye world");로 바꾸는데 당연히 결과가 안 바뀌겠습니까?!
이제 보니 바깥에선 numMin 도 의미없구만. ㅋㅋ
저 코드가, 두개값을 xor 해서 max 값을 찾는 코드인데, 뒤에서 앞으로 가나 앞에서 뒤로 가나, 별의미 없어요
문제는 저 코드가 1 2 3 4 5 6 7 이렇게 있다며, 1,2 xor 하고, 2,3 xor 하고 1,3 xor 하는...식의 구조인데 중복되며 나가고...
그런 구조를 바꿀려고 하는데, 12 다음에 23 다음에 (1,2) 정렬해서 한번만 하는 구조로 바꾸고 싶은거예요
그런가요? 만약 크기 n의 arr배열이 주어졌을때 10번째와 n - 10번째 원소에서 break가 일어날 수 있다 했을 때 앞에서 탐색하면 0 ~ 10 까지의 값들중에서 max가 나오고 뒤에서 탐색할 땐 n - 10 ~ n번째 원소 중에서 max가 나오는데 별 의미가 없다구요?
전 이만 잘래염 ㅃㅃ
란씨맨//이예요->이에요 (받침 있으면 이에요 없으면 예요 이로 끝나면 받침 없으므로 예요 요 떼서 말 되면 에요 아니에요는 예외 인명엔 예요(예 : 길동이예요) 성까지 쓰면 이에요(예 : 홍길동이에요)) [리듬 맞춤법 봇♬]