저번학기 알고리즘 수업에서 ACM문제같은것들이 과제로 나왔거든
근데 교수님이 제시한 조건을 만족시키면 가산점을 줬어
한번은 가장 짧은 코드에 가산점을 줬는데
가장 짧은 코드가 필요할때가 있는거야?
이때까지 코드짤땐 별일없으면 가독성이랑 모듈화위주로 짜왔는데
근데 교수님이 제시한 조건을 만족시키면 가산점을 줬어
한번은 가장 짧은 코드에 가산점을 줬는데
가장 짧은 코드가 필요할때가 있는거야?
이때까지 코드짤땐 별일없으면 가독성이랑 모듈화위주로 짜왔는데
가장 짧은 코드가 필요한 때는 \"전혀\" 없음
코드가 거대해 질수록 모듈화를 잘하면 알아서 짧아짐
이건 코드 유희로 재미로 하는거지 강의 이름이 Short Coding 이 아닌 이상 \"가장 짧다는 이유만으로\" 가산점 주는 교수가 있다면 그건 멍청한 교수다.
미션수행이야 그때 그때 다른거 아니나? 어떤 미션이 주어질 지 모르는 일이니 미리서 대비하는게 상책일듯~!
Short Coding 한 애가 이~~~뻐~~~!
물론 그런 의미의 숏코딩이 아니라(가독성 완전히 무시하는), 가독성을 가지면서 적은 명령어로 어떤 일을 처리한 코드라면(확실히 더 빠른 속도가 보장될 때) 몰라도 말이지. 그리고 acm문제같은 경우 단순히 짧은게 아니라 알고리즘적으로 더 효율적인데 그걸 못봤을 수도 있고.
acm문제 푸는거면 숏코딩이 나쁘다고 볼 수는 없음. 정해진 문제를 풀고 유지보수가 필요없다는 특수성이 있기 때문에 자기 자신만 알아볼 수 있으면 되니까. 그리고 복잡도가 같은 로직이라면 웬만한 경우 아주 약간이라도 더 효율적인 속도가 보장될 수도 있고.
미션수행 예능이 교수까지 망가뜨렸군~!
과제마다 미션은 달랐어 가장 빠른코드일때도 있었고 근데 한번은 가장 짧은 코드로 줄바꿈없이 변수이름 한자로 짠사람이 가산점을 가져가길래 그냥 좀 어이가 없어서
물론 그코드의 알고리즘은 최악이었음 느렸거든N의3승이었나
전설의 1줄 코딩 이군 ㄷㄷㄷㄷ
정해진 미션이라면 -_-;; 어이가 없는게 아니라 그에 맞게 짜면 되지 뭐가 불만?
O(n^3) 이든 뭐든 문제만 풀리면서 숏코딩하면 되는거지.
난 저수업 듣진 않았어 그냥 저런 미션을 주길래 가장 짧은 코드도 필요할때가 있을까하고 궁금해져서 물어본거야
뭐 실제로는 필요한 때는 없지만.
숏코딩하다보면 창의적인 사고를 많이 요구하는 편이지. 단순히 변수이름이나 옛날C표준 사용하는 정도가 아니라.
SeWha//중간에 생략이 좀 되서 그런것 같은데 학과 게시판에 이번 알고리즘 수업 과제 1등코드라고 올라왔었어 그래서 봤는데 한줄코딩에 느린알고리즘이 왜 1등이지 하고 어이가 없었단거 였어 형 난 그땐 저런 미션인줄 몰랐거든
처음에 미션을 안 알려줌?
그 숏코딩 이겨보셈, 더 짧게 짜보는거임, 1. 더 짧게 짜는게 쉽게 가능 -> 뭐야 어이업어 , 2. 더 짧게 짜는게 불가 -> 이샛키봐라?
난 저 수업 안들었다니까
가장 짧은 코드를 멀 최적화를 말하느거야 아님 걍 바이트 수 줄이기 숏코딩을 말하느거야.. 걍 하믄 되지 존나 이해 안되네
그리고 왠만해서 숏코딩하면 일반적으로 아주 느린 알고리즘이 나올수 있나??
에초에 작성자가 의도를 잘못파악한거 같은데 그건 본인이 잘못 안거지 황당하고 어이없어 할 필요 없다고 생각한다
무슨 문제 냈는지 말해주세요 풀어보게요
일광면//내가 어이없어 했던건 미션이 뭔지 모를때 알고리즘 과제 1등이라고 올라온 코드를 보고 어이없었단거야 나 글적는 연습을 해야되나 ㅡㅅㅡ
그러니깐 니가 본 문제가 먼데요? 내 보고 풀어나보게요..
문제는 한자리 숫자 N개 입력. 구분자는 공백. 그 다음 줄에는 숫자 3보다크고 N보다 작고. 그리고 그다음줄에 또 숫자. 0보다 큰. 처음 입력된 N개 숫자들 중에서 두번째줄에 입력된 숫자만큼 골라서만들 수 있는 숫자들을 오름차순으로 정렬 할 경우 세번째 숫자번째에 있는 숫자는? 이 문제였어
나 폰이라서 윽시 열심히 적고 있었어 용서해줘
고마워 풀어봐야징
아 그사람은 몇바이트 나옴? 요것만 묻고 사라지겟음
한자리숫자 n개입력이 뭔소리. 그냥 N을 입력받는다는거 아님?
그건 잘 기억이 안나 학과 홈페이지에 아직 있을지 모르겠는데 폰이라 느려서 별로 들어가고 싶지가 않아
문제 적어놓은게 너무 횡설수설같아서 못알아보겠다. 나만 그런가?
한참 봐따 --; 문제 이해가 안되여
처음 나온거는 n개의 갯수를 말하느거냐 그만큼 숫자를 입력하라는거야? 그 다음줄에는 한번만 입력하냐? 아오 먼소리하는지 모르겟어
0 0 1 2 5 6 7 8 8. 이게 첫줄이고. 5. 이게 둘째줄이고. 1540. 이게 셋째줄이면. 첫줄에 있는 숫자듵로 만들수 있는 5자리 정수중에 1540번째로 큰수를 찾는거
00125가 첫번째고 위에서는
첫줄에 있는 숫자개수 N은 언제 입력받는거냐 아니면 캐리지 리턴으로 알아서 구분하란거냐. 그리고 이건 당연한거지만 첫줄숫자들 무조건 하나씩만 쓰란거냐
1540번째로 큰수가 아니라 작은수겠지 -,- 설명 못하는거 타고났냐
줄바꿈으로 알아서 구분. 물론 하나씩만 사용가능 1이 2개밖에 없으면 2번만 사용가능
그러쿤 작은수였네 나 왜이런거야 형?
그럼 두번째 줄에서 3보다 크고 n의 갯수들의 수보다 작은것을 입력받는다고 설명해야지.. 그리고 처음 n은 몇개 까지 제한하지도 말안해줬네
1이 아니라 0이 2개다... 이거 의도적인 오타인가?
그리고 5자리 정수에 00125 가 포함이 된다는건 중요한건데 따로 말을 안하네. 엄밀히 말하면 125 는 3자리지. 즉 5자리 가 아니라 그냥 위의 숫자를 5개 사용한 수 라고 해야 옳다
문제를 니가 적지말고 그냥 긁어다 복사하면 될것을..
그러네 나중에 적어야지하다가 잊어버렸나봐 N은 15이하였을꺼야
나 폰으로 해서 문제따윈 지금 없어.
폰이라는게 안타깝군 제길 내일 집에 가서 풀어야지
나도 폰이라 흠.
나중에 원본 올려봐..이해 안감
이해는 갔는데... 지금까지 풀어본 acm문제중에 줄바꿈으로 n을 알아서 인식하라는 문제는 처음 들어봄