[codility] 비도 오고 더럽게 우울하다(4월 19일 글 복구)
문제 풀이 환경을 제공하는 사이트로 codility를 알게되었다.
개구리가 우는 이유는 청개구리가 비오는 곳에 그들을 묻어서 라고 하던가?
첫번째 문제는 뛸 수 있는 거리(D)가 정해져 있고, 시작거리(X)에서 출발할 때, 몇 번(R) 되어야 종료거리(Y)를 넘을 수 있는가를 묻는다.
영어로 되어 있어서 잘 이해가 가지 않아, 역시 PHP 로 걍 해보다가 답을 보았다.
C언어로 된 답은 그리 간결하지 않다. 이를 PHP로 바꿔서 했더니, 정수가 안 나온다고 해서, 리턴 값을 보니, 2.5다.
C언어에는 타입이 정해져 있어서, 자동 반올림(? 올림일 가능성이 제기됨)되어 정수로 리턴해 줘서 문제가 없었던 듯.
암튼 PHP 로 고치면 아래와 같다.
function solution($X, $Y, $D) {
$r=0;
if($Y>$X)
{
$r=($Y-$X)/$D;
$r=floor($r);
if(($X+($r*$D)) < $Y)
$r++;
}
return intval(floor($r));
}
먼저 도달해야하는 곳(Y)이 시작점(X) 보다 뒤에 있는지 확인하고, 몇 번 뛰어야 하는지 계산한다.
예제 케이스를 넣어보면 첫번째 R은 2.5이다.
두번째 조건문은 85<80 이므로 거짓이어서 반올림 값만 적용되어 3이 나온다.
두번째 조건문이 왜 필요할까?
그건 첫번째 R에서 동일한 숫자가 나오면 ROAD를 벗어나는게 아닌, 걸치기(?) 때문이다.(글을 정리하면서 이해하게 되었다.)
그런 예라면, 시작 점(X)이 5라고 한 값을 보자.
첫번째 값은 2.666666 이고, 두번째 조건문이 80.0000001 이라 영향을 안 줄 듯.
윽... 이상하다. 두번째 조건문을 주석처리하고 테스트 케이스를 바꿔도 답이 맞는다.
그건 아니고, 테스트 케이스 값이 무엇이다만 리턴하는 듯.
그래서 처음에는 round인 줄 알았는데, 이러면 안 된다. 그래서 floor로 고쳤다.
제출 결과 어떤 테스트 케이스를 넣었는지는 모르겠지만, 통과했다.
나도 그 선을 넘고 싶다. 그런데, 세상은 올림과 반올림은 인정하지 않고, 버림아니면, 마이너스 밖에 없겠지.
https://codility.com/demo/results/demoTZD8DM-38J/
테스트 케이스의 답만 리턴할 것이 아니라, 가부 여부도 알려줘야 한다고 생각한다.
두번째 문제도 풀었다. 처음에는 바보 같이 존재하는 숫자를 순차대로 찾아서 배열에서 소거하려 했는데, 이게 아닌 연속되는 자연수의 합 원리를 이용하면 되는 거였다. 배열 총합을 빠진 숫자까지의 수열 합에서 빼면 누락된 수가 나온다.
https://codility.com/demo/results/demoNF4Q3B-A48/
3번 문제는 특정 부분을 잘랐을 때, 좌측부분의 합과 우측부분의 합의 차를 구하는 문제이다. 어려운 문제는 아닌데, 문제가 이해가 안 가서 이제야 적어놓는다.
[도서] 고도를 기다리며 (사무엘 뷔케트)
[소개] Flex에서 Yahoo지도를
[도서] 철도의 눈물(4월 29일 글 복구)
요즘 도시철도 소외 지역으로 출근하고 있다. 비명소리 나온다.
서울 도시철도 노선 가운데 최고의 특별 혼잡 지역으로 분석되는 2호선 신도림에서 교대 구간, 특히 최고조에 이르는 오전 8시 20분부터 8시 50분까지의 서울대입구-교대 구간과 8시부터 8시 30분까지의 4호선 미아삼거리-동대문 구간은 모두 넓은 도시철도소외 지역을 배후에 두고 있다. 출근 시간뿐만 아니라 퇴근 시간에도 도시철도 소외 지역으로 이동하는 사람들은 커다란 고통을 겪는다.
하지만 어떤 정치인도 퇴근 시간 4호선 동대문 역사문화공원역의 터져 나오는 사람들의 비명 소리에 귀 기울이는 모습을 보지 못했다. 하루하루 '지옥철'의 고통 속에 ㅣ달리는 시민들의 고통의 원인은 정치에 있다.
특히 일부 토건족과 이해를 같이하는 정부 부처와 정치인들은 폭발 직전인 낙후 지역의 교통 이동권 불만을 자신들의 이윤 추구 창구로 전환시키려 하고 있다. 이들은 서민을 위해 교통 인프라 개선을 시도하겠다며 민간투자 사업이라는 반서민적 정책을 전면화하려 하고 있다. 지하철 9호선과 신분당선이 보여 주듯이, 민간투자 사업은 결국 세금은 세금대로 가져가고 높은 요금과 불편을 감수하게 하면서 투자자들은 막대한 수익을 챙기는 반서민적인 정책으로 귀결된다. 사회간접자본과 관련된 정부의 재정 부담을 줄여 주고 민간투자를 활성화하겠다는 그럴듯한 명분을 내걸고는 토건족과 이를 대변하는 정치인, 정부 관료들이 하나가 되어 천문학적 액수의 시민 혈세를 뽑아 간 게 그동안의 민자 사업이었다. 66p
[쓰기] 역류성 식도염
계, 돼지
쉬는 시간 축구 영상을 보여줬던 강사
준비가 길거나 결과에 대한 기다림이 길거나
기획이 길거나 유지보수가 길거나
쌓여봤자 돈이 안 된다.
정신만 피폐해진다.
현역부적합심사
현부심이란다
쓰레기 새끼들
싸우다 반장을 쳐서 그에게 맞고 울던
그런 학창시절
예전의 내가 아니다를 외치며
공놀이를 하던 친구
초 긴장상태
노 긴장상태
할머니 옷이 화려하신데 자고 계시네
젊을 때 어떻게 살았는지 보인다
개발은 집안일과 같다
주어진 시간 안에서 끝이 없다
그 시간이 지나면 새롭게 목표 설정을 하지만
치워지지 않거나 달성되지 않는 영역은 항상 유사하다
누칼협
대출내지 않으면 결혼하지 못한다
상대는 그렇다
그렇다고 강을 건너는 순간 빠져버린다
파산의 늪으로 빠진다
인간의 욕심은 끝이 없고
달궈지는 냄비 안의 개구리처럼 죽어간다
개 같이 벌어
개 처럼 산다
자본주의 사회의 모순
방만 한 운영
집이 아니라니까
페미 집단에서 유리천장을 운운한다
계층 하위집단에서도 유리천장을 운운한다
개천에서 용이 날 수 없다
[도서] 밤의 인문학
고작 돈을 많이 벌기 위해 매일 아침 사무실에 나가
주가 변동 그래프의 움직임을 쳐다보면서 '샀다 팔았다
샀다 팔았다' 한단 말이냐? 무슨 인생이 그래?!
오늘날 많은 사람들이 좌절하고 있는 이유를 아니?
제일 똑똑하다는 애들이 그런 걸 하고 있어서 그런거야!
주옥같은 글들이 많다.
나는 적어도 의미없이 트레이딩을 하며 폭탄돌리기를 하지는 않겠다!!!
[도서] 오자히르 (파울로 코엘료)
[야후맵] json으로 처리하기
1. 지도 api
2. 검색 api
3. 좌표, 지명변환 api
4. 좌표변환 api
야후 지도가 매우 쓸만합니다.
json, php, xml 로 제공됩니다.
json으로 만든 예제 페이지를 공개합니다. 당연히 js로만 되어 있어서 서버에 구애받으실 것이 없습니다. firefox와 ie7에서 test했습니다.
날림코딩이긴 하지만, 쓰시는데는 지장이 없을 듯 합니다.
json 출력 코드는 dna.daum.net의 예제코드를 그대로 사용하려고 했는데, obj 내에 들어가 있으면, map 오브젝트 변수가 공유가 안 되서 심하게(?) 바꿀 수 밖에 없었습니다. DOM에 setAttribute나 onclick 속성 설정이 잘 안되서(구글 서치 결과 잘 안 된다는 의견이 많아서), 스트링 concatenation으로 그냥 출력시켰습니다. 수정해서 사용하세요. 이것 하면서, callback에 대한 개념을 잘 잡았죠.
1,2,3은 구현됬고 4는 이제 쓸일이 별로 없어서(네이버 맵을 안 쓸 것 같군요... ㅋ) 사용은 안 해 봤습니다. 그럼 참고하세요.
http://lispro06.woweb.net/dw/yahoo/json.htm
[세금] 수도세 납부완료
지로용지가 없어져서 방법을 찾다가 etax에서 가능한 것을 확인했다.
수요일에 처리하려 했으나, 공인인증서가 없어서 카피하는 사이 밤 11시 50분이 되었다.
서비스 시간이 아니라는 메시지가 나와서 화나서 자버렸다.
목요일은 출장이라 못하고 오늘 처리했다.
계좌이체보다 이게 더 나은 듯.