안녕하세요. 팀 codingdog입니다. 1회에 출제된 문제 중 가장 어려웠던 문제는 가희와 프로세스 2 문제였는데요. 대회 당시에 단 2분만 푸셨을 정도로 쉽지 않은 문제였습니다. 어떤 점이 발목을 잡았는지, 그래서 어떻게 접근을 해야 했는지만 보겠습니다. 먼저 기본 아이디어는 가희와 프로세스 1 문제와 동일합니다. 나머지 프로세스의 우선순위가 1 상승하는 것을 상대적인 관점에서 생각한다. 즉, 현재 실행되고 있는 프로세스가 실행되면, 우선순위가 1 하락한다. 달라보이지만, '상대적'인 관점에서 생각하면 똑같은 말입니다. 어렵지 않죠? 문제를 요래 변형하는 게 첫 번째 포인트입니다. 이 부분은 2회의 가희와 거북이 인형 문제에서도 교과서에 나온 개념 그대로 연계해서 출제한 적이 있습니다. 예제 1번을 ..
전체 글 검색 결과
톡방에서 이야기를 나누다가 record 클래스가 최신 자바 버전에 도입되었다는 것을 알게 되었습니다. 이것을 써 보려고 jdk 17을 깔고, intellij 버전을 2021.x 버전까지 올리게 되었습니다. 제가 설치했던 버전에서는 language level 선택에 17이 없었거든요. 하튼, 간단하게만 써 보고, 코딩 테스트를 푸실 때 어떻게 쓰시면 좋을지 정도만 보도록 하겠습니다. 먼저, record data는 요래 정의했습니다. 그냥 int형 x, int형 y로 이루어진 레코드 (직역하면 구조체) 정도라고 생각하면 좋겠네요. 그러면 이 친구들은 어떤 특성을 가질까요? 먼저, 필드들이 final field로 구성되어 있어요. 그렇다는 이야기는 한 번 값이 정해지면 바뀌지 않는 immutable한 특성을 ..
제가 개최한 1회 코딩테스트는 총 8문제가 있었습니다. 2, 3회에 비해 상대적으로 어렵지 않았는데요. 어디까지나 제가 개최한 코딩테스트 기준일 뿐이니 너무 자신감을 잃지 않으셔도 됩니다. 대회 당시에 맞은 분들 수를 보면, 4번부터 통곡의 벽처럼 다가오셨을 거 같습니다. 이 삼형제 중에 두 문제는 이미 풀이를 마쳤고요. 나머지 한 녀석이 가희와 자원 놀이라는 문제입니다. 세팅하는 데 1달이 넘게 걸렸습니다. 이 문제를 출제하기 위해 턴제 게임의 시스템도 다른 분들이 이해하실 수 있게 서술하기 위해 공부해야 했습니다. 제너레이터 몇 번 다시 재작업 하면서 겨우 출제했던 기억이 나네요. 이 자리를 빌어 검수진 분들에게 다시 한 번 감사 말씀을 올립니다. 이제, 이 문제를 풀기 위해서 어떻게 생각하셔야 하는..
제가 3회 코딩테스트 문제에 출제했던 가희와 무궁화호는 처음에 실수 민감형이였습니다. 어떤 버전이였는지는 old version의 코드를 보시면 대략 감이 오실 듯 싶어요. 부동 소수점은 0.1, 0.2 등을 정확하게 저장하지 못합니다. 정확하게 저장하려면 고정 소수점 등을 이용해야 합니다. 파이썬에서는 Decimal을 쓰면 그러한 일을 할 수 있습니다. 당연하게도 현재 버전의 풀이가 아닙니다. 이 글에서는 단지, 엄청나게 작은 오차도 허용하지 말아야 하는 경우에 파이썬에서는 어떻게 해야 하는지에 대해서만 언급하겠습니다. 24336번의 원래 버전은 눈치 채셨겠지만, 표정 속도를 소수점 첫째 자리에서 버림한 값을 출력하라 했습니다. 이게 실수 민감형인가요? 라고 물어보실 수도 있습니다만, 매우 쉽게 실수 오..
안녕하세요. 코딩개입니다. 문자열을 다룰 일은 생각보다 많은데요. 리눅스에서 tr 명령어도 꽤 유용하게 쓰입니다. 간단하게 예제를 보면서 알아보도록 할게요. tr은 translate 혹은 delete character라고 합니다. 문자들을 지우거나, 다른 것으로 바꾸는 것인가 봅니다. 사실 저는 translate를 번역하다라는 뜻만 있는 줄 알았는데, 그게 아닌가 봅니다? 몇 가지 옵션들이 있는데요. -c는 complement를 의미합니다. 보수 할 때 많이 들어보셨을 텐데요. 반전을 의미합니다. 예를 들어 세트 1이 digit라고 해 봅시다. digit의 반전은 무엇인가요? digit이 아닌 것들이 됩니다. 예를 들자면 'a', 'b', ' ' 등이 이 집합에 속합니다. 다음에 -s는 여러 번 연속해서..
최근댓글