U E D R , A S I H C RSS

AOI/2004

2004년도 여름 & 겨울방학 문제풀이 스터디

교재

  • 여름 교재 : 쉽게 배우는 실전 알고리즘 & 정보올림피아드 도전하기 ( Aladdin:8931421923 )
  • 겨울 교재 : Programming Challenges ( Aladdin:8979142889 )

진행상황

여름

문제 강희경 회영 문보창 황재선 신재동 곽세환
3N+1Problem O X O O O O
EcologicalBinPacking O O O O . O
SummationOfFourPrimes . X O X . O
MultiplyingByRotation . X X . . X
UglyNumbers . X O O . O
HowManyZerosAndDigits . O X . . .
ImmediateDecodability . O X . . .

겨울

문제 오승균 회영 문보창 황재선 이승한 신재동 강희경 곽세환
MineSweeper . O O O O O . O
JollyJumpers O O O O O O O O
TheTrip . X O O O O . O
Slurpys . O X O . O . O
ReverseAndAdd . O O O O O . O
TugOfWar . O O . . O . .
Doublets . X X . X . . .
WeightsAndMeasures X X O . . . .
CryptKicker . . X . . . . .
LC-Display . . O . . 0 . O
CheckTheCheck . . O . . . . O
AustralianVoting . . O . . . . O
LightMoreLight . . O . . . . .
PrimaryArithmetic . . O O . . . .
TheArcheologist'sDilemma . . X . . . . .
PokerHands . . X . . . . .
Ones . . O . . . . .
PolynomialCoefficients . . O . . . . .
HowManyFibs? . . X . . . . .
WERTYU . . O . . . . .
CommonPermutation . . O . . . . .
AutomatedJudgeScript . . O . . . . .
Vito'sFamily . . . . . . . .
Where'sWaldorf? . . . . . . . .
CryptKicker2 . . . . . . . .

하고 싶은 말

으윽. 두번째 문제. 또 막혔슴돠. ㅠ.ㅠ;; 이거 번번이 실패. 이것도 이산수학인가?? -_-ㅋ;; - 이승한
진행사항에 보면 여름란이 있습니다. 안 풀어보신 분들은 한번 풀어보세요. - 보창
대부분의 문제들은 4초안에 답이 출력되어야만 합니다. 이 부분이 가장 힘들군요. -- 보창

자.. 시작해볼까요? MineSweeper 풀어보아요 -- 재선

이런...이제서야 접속이되는군요. 내일부터 열심히 연구해봐야겠네요 ^^ -- 승균

~cpp 
void main()
{
   input()
   process()
   output()
}
잠깐 다른 사람 소스들을 봤는데 이런식이 많더라. 나쁘다는 건 아니다. 실제로 재동과 상규가 프로그래밍대회에서는 저런식으로 했었다. 이유는 대회에선 무조건 속도전이라 함수 이름이나 함수의 길이는 신경쓰지 못하기 때문이였다. 하지만 적어도 대회가 아닌 연습에서는 좀 더 흐름을 알아보기 쉽게 하는게 좋을 거 같다. --재동

오늘은 오래간만에 C++로 코딩해 봤다. 속도 최우선 프로그래밍으로... 다음에 할 때는 다른 언어로, 또는 OOP로, 또는 TDD로 코딩해봐야겠다. --재동

열심히 코딩하는 건 보기좋다. 하지만 소스 코드에서 냄새가 많이 난다. 너네가 만날 때는 그때까지 짰던 소스 코드를 서로 바꿔가며 좋은점, 고칠점에 대하여 논하고 리팩토링 해보면 도움이 많이 되겠다. --재동
Refactoring/BadSmellsInCode --강희경
그러게 다들 다른 사람들 코드는 보는 겐가? --Leonardong
다른 사람들 꺼 보는 게 재밌군 --강희경

이쯤에서 한번 모여서 이야기 해보는건 어떨까요?? - 이승한

태클 걸어도 되는거지? --강희경
응, 좋지 -- 재선
-_-ㅋ 더블릿 포기 - 이승한
용두사미! 왜 끝은 흐지부지 되는 경향이 있을까요? 쉽고, 재밌는(?) 문제 위주로 올릴테니 우리 모두 힘내서 풀어보아요! - 보창
쳐다보지도 않았던 AOI 페이지;; 겁네 많이 밀렸네;; 다시 다시!! 화이팅!! - 이승한

uva robot의 경우 보통 300 번 이상의 test case 를 쓰는 것 같습니다. 동적 메모리가 아닌 정적으로 할당할 경우 이 점을 유의(?)하지 않으면 RE error(포인터 에러)가 납니다. 보창은 이것때문에 하루종일 프로그램을 뜯어고쳤으나, 결국 우연한 기회에 알게 되었습니다. LCD-Display의 경우 robot은 1000줄 이상을 test하는 걸로 보여집니다. -- 보창


조언을 한가지 하고 싶습니다.

한 문제를 풀어본 후에 소요시간이 만족스럽지 못하거나 결과코드가 불만족스럽다면 이렇게 해보세요. 내가 만약 이 문제를, 아직 풀지 않았다고 가정하고, 다시 풀어본다면 어떻게 접근하면 더 빨리 혹은 더 잘 풀 수 있을까를 고민합니다. 그리고 그 방법을 이용해서 다시 한 번 풀어봅니다(see DoItAgainToLearn). 개선된 것이 있나요? 이 경험을 통해 얻은 지혜와 기술을 다른 문제에도 적용해 봅니다. 잘 적용이 되는가요?

예를 들어, X라는 문제를 풀어봤는데 그 문제는 Y라는 알고리즘을 사용하면 쉽게 풀리는 것이었다, 하지만 그 착상을 빨리 하지 못해서 시간도 오래 걸리고 고생했다. 뭐 이런 경험을 했다면, 이 문제를 풀어서 얻은 구체적 지식을 잠시 무시하고, 이 문제를 처음 만났을 때 어떻게 Y라는 알고리즘을 사용할 수 있다는 착상에 빨리 도달할 수 있을런지 연구해 봅니다. 문제를 푼 후에 얻은 지식을 사용하지 않아야 합니다. 방법을 찾았으면 그 방법을 적용해서 다시 풀어봅니다. 그 방법이 다른 유사 문제에도 적용이 되는가요?

이런 과정을 통해 자신의 "일반적 문제 해결 능력"을 높힐 수 있습니다.

--JuNe



Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2009-05-27 07:09:19
Processing time 1.6972 sec