메뉴 건너뛰기

박영식 홈페이지

[codility] 비도 오고 더럽게 우울하다(4월 19일 글 복구)

lispro062015.05.15 11:20조회 수 3669댓글 0

    • 글자 크기

문제 풀이 환경을 제공하는 사이트로 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번 문제는 특정 부분을 잘랐을 때, 좌측부분의 합과 우측부분의 합의 차를 구하는 문제이다. 어려운 문제는 아닌데, 문제가 이해가 안 가서 이제야 적어놓는다.

lispro06 (비회원)
    • 글자 크기

댓글 달기

[달리기] 독도수호마라톤

[원문보기]

이은재의원을 비롯해 외국인들이 많이 왔다.

 

이제 10KM 도 힘들다.

 

5.4는 독도의 둘레라고 한다.

 

10722.png

 

[쓰기]

[원문보기]

왜 유사성에 즐거울까

성대모사

닮은 꼴 자식

자기 유사성

 

일개미의 삶

 

애매한 인생

예매한 인생

 

열린 음악회는 누구를 위해 열려 있는가

서민에게 열려있지 않은 음악회

 

혼자 먹고 살기도 힘들다

 

택배 오배송의 저주

아이폰 악세사리만 두번째

 

빌런 비율의 법칙

사람이 많으면 빌런도 많다

바퀴벌레들

 

숏츠 인트로

선정적 영상

매우 싫다

 

즐겁게 살기도 짧은 삶인데 가난이 싸움을 부추긴다

 

인생은 설정이다

인생은 실전이다

 

단순화 가사

반복 감탄사 가사

글로벌한 시장을 위해 아이돌의 노래는 단순화 되고 스피드 시대라 3분 내로 끝난다

 

[가사] 립스틱 짙게 바르고

[원문보기]

립스틱 짙게 바르고는 1987년 임주리 가수에 의해 발표된 노래인데, 1993년 드라마 삽입곡으로 나오면서 인기를 끌었다고 한다.

 

당시에는 '역주행'이란 말이 없었던 것으로 기억하는데, 지금 표현의 역주행인 것이다.

 

2008년 다비치에 의해 동일한 이름의 곡이 나왔으며, '립스틱을 바르는 행위의 의미'는 유사하다.

 

[다비치 노래의 가사]

"사랑같은거 하지 않을래 다시는 바보같은짓 절대 안할꺼야 립스틱을 짙게 바르고 긴머리를 자르고 네가 준 상처를 지우고"

 

[임주리] 이별을 당한 여자가 고독을 씹고 있는게 아니라 이별을 남자가 준 마지막 선물로 여기고 립스틱을 짙게 바르고서 다른 사랑을 찾아나서는게 요즘 세태와 맞아떨어진 것 같다

 

[의견] 립스틱을 바르고 헤어스타일을 바꾸는 의미는 기존 기억을 지우고 새로 시작하겠다는 의지이다. 삭발을 하고 의지를 다지는 듯한 행위이다.

 

그러나 립스틱은 버리기 보다는 덧칠하는, 덮어버리는 행위라 숨길 수 없는 무언가가 남아 있을 수도 있다.

 

따라서 1987년에서 2008년으로 넘어오면서 20년 후에는 버리는 것이 많이 가사에 들어갔다.

 

긴머리 자르기, 상처 지우기 그리고

 

"널 다 버리고 널 다 지우고 너 없이도 행복할거야"

 

해당 부분을 잘 못 들으면, 놀다 버리고, 놀다 지우고로 들린다.

 

패륜적인 가사로 들을 수 있는데, null 이었다니.

 

역시 null 은 버리고 지워야 하는 것이다.

[잡담] 차량 운행기

[원문보기]

자동차를 구매해 운영한지 약 6개월이 지났다.

 

요즘 지방 출장을 다니면서 매일 30분 이상의 운전을 하고, 업무 장소에 가려면 4시간 정도를 운행해야 한다.

 

어제도 집으로 돌아오면서 과민 운전이나 운전 미숙으로 사고 직전까지 가는 상황에 이르렀다.

 

운전이 안되는 날은 계속 문제가 생기고, 예민해 지며 사고 유발 운전 차량을 많이 목격하게 된다.

 

이제 왕복 1회가 남아있다.

 

무사히 다녀와야할 텐데 역시 운전은 항상 무섭다.

 

[쓰기]

[원문보기]

민희진 = 김고은

 

날짜는 정보량이 적다

 

보유하면 뭐하나 쓰지를 못하는데

 

아무것도 안 했는데 노후 준비라니

 

퇴근 후 자기계발?

정신이라도 차릴 수 있나?

무엇을 위한 자기계발인가?

 

Advanced Semiconductor Materials

ASM Lithography

Extreme UltraViolet

 

댓글러들의 할루시네이션

 

무료프로그램, 무료나눔이나 찾아보는 인생

 

청소를 위해 포기한 보안

탁월한 사유의 시선

추후에는 고급 보안 관리자들이 청소를 위해 서버실에 들어가겠지

그것 조차도 로봇 청소기들이 하려나

사람이 없으면 청소할 일도 없다

 

랩칼과 피자세이버

 

오마카세요

음악하세요

 

이효리 = 조윤희

 

저축만 하다 못 써보고 죽을 듯

 

[새벽풍경] 할머니 모자의 가격표

[원문보기]

 

할머니가 좋은데 가시나 보다
새로 산 모자의 가격표도 안 떼시도 지하철을 기다리신다

옆에서 대화를 나누는 장년의 모습이
출근 길을 붐비게 한다는 생각은 들지 않게한다

무임승차로 직장인을 힘들게 하는 노인들을 싫어하지만
그 할머니는 비난이나 증오가 들지 않게 하였다

늙으면 자신의 얼굴에 삶이 드러난다
그 분은 이렇게 좋은날 나들이를 보내드려도 좋다

이어령 교수님의 말씀으로 마무리 해 본다
"젊은 이는 늙고 늙은이는 죽어요"

[쓰기]

[원문보기]

군에서 프린터 고장으로 수리를 맡긴 일

 

아침부터 TV를 틀었던 형

 

아파트

아가리 파이터 트롤

 

티비에 나오는 광고를 못 보게한 가장

 

3루타에서 태어난 이들이 3루타 타구를 친 줄안다

난 마루타에서 태어났는지 실험당하다가 병에 든다

 

늙으니

그니그니

 

네가 사는 품목에는 관심이 없다

 

가계부 이중 장부 써도 집 못 산다

버스 정류장 노인들의 담화

 

예약화면을 보자마자 피곤해지네

 

결국 돈

 

관련 전공자가 아니면 접두어가 필요하다

 

여기서 우연이란 당사자가 확실히 예견하거나 영향을 미칠 수 없는 사정을 말한다.

자본주의 사회에서 서민이라는 당사자는 삶에 대해 예견하거나 영향을 미칠 수 없으므로 인생은 도박이다

 

자동화 목소리에 익숙해져야할 때

 

코인세탁소?

프린트카페

 

투자라는 단어는 사기꾼들이 사용하는 단어일 뿐이다

 

병신이라 말하는 내가 병신이 되는

 

어그로 끌기보다는 처음에 넣기

 

한강을 건너면 핑계를 만들 수 있다.

강이라도 물을 건너면 핑계를 만든다.

 

[우수] 2019년 2020년을 잘 마무리하여 과정 수료

[원문보기]

2020년으로 가면서 공동저자가 들어가게 되었다.

 

jpeg.jpg

 

r

[쓰기]

[원문보기]

쓰지 못 하는 돈 만이 존재하는 현실

 

대기업과 복지 격차 30만원?

 

비전에 있어야 입사 제안을 하지

 

흉물스러운 타워크레인과 멈춰버린 공사에 망해버린 사람들

 

도시락 두 개

반찬은 하나

 

바닥 닦이용 왁스를 거의 안 쓰고 버렸겠구나

 

이기적인 주인공과 조력하는 조연들의 진부한 클리세

 

지출만 쌓이네

 

통화소리가 시끄러운 노인들

 

좋은 소리도 못 듣고 다니고 택배 배송 주소나 잘 못 쓰고

 

태어나 보니 반지하

 

김밥을 던지는 놈

삶은 계란을 던지는 놈

지금은 택배나 던지고 있겠지

 

불러 들이는 것을 선호하는 담당자

 

열차 플랫폼에서 소변 보게 하는 어른 to bottle

 

하차문 앞 좌석에서 요지부동

하차객 불편 호소로 일어나기는 하네

 

왜 배고프지?

 

욕을 먹는 건 부러움의 대상이라는 것

 

 

이전 1 ... 56 57 58 59 60 61 62 63 64 65... 78다음
첨부 (0)
위로