0x.프로그래밍
-
0x05.10~1000까지 각 숫자 분해하여 곱하기의 전체 합 구하기0x.프로그래밍/Python 2017. 6. 29. 11:21
0x05.10~1000까지 각 숫자 분해하여 곱하기의 전체 합 구하기 예로, 10~15까지의 각 숫자 분해하여 곱하기의 전체 합은 다음과 같다. 10 = 1 * 0 = 0 11 = 1 * 1 = 1 12 = 1 * 2 = 2 13 = 1 * 3 = 3 14 = 1 * 4 = 4 15 = 1 * 5 = 5 그러므로, 이 경우의 답은 0+1+2+3+4+5 = 15 코딩도장에 나오는 문제를 오늘도 풀어보았다. 물론 그렇게까지 효율적인 코드를 작성하지는 않은 것 같다. digit2는 2자리 수의 연산을, digit3는 3자리 수의 연산을 계산해주는 함수이다. 1000같은 경우에는 어차피 결과값이 0이 나오기 때문에 바로 calc=0으로 계산을 하였다. 나름 쉽게 잘 작성했다고 생각되긴 하는데,,, 어쨋든 결과값..
-
0x04.1차원의 점들이 주어졌을 때 가장 거리가 짧은 것의 쌍을 출력0x.프로그래밍/Python 2017. 6. 28. 10:16
0x04.1차원의 점들이 주어졌을 때 가장 거리가 짧은 것의 쌍을 출력 http://codingdojang.com/scode/408?answer_mode=hide 오늘도 코딩도장 문제이다 1차원의 점들이 주어졌을 때, 그 중 가장 거리가 짧은 것의 쌍을 출력하는 함수를 작성하시오. (단 점들의 배열은 모두 정렬되어있다고 가정한다.) 예를들어 S={1, 3, 4, 8, 13, 17, 20} 이 주어졌다면, 결과값은 (3, 4)가 될 것이다. 그리 어렵지 않은 쉬운 문제였다.
-
0x03.10진수를 n진수로 변환하기0x.프로그래밍/Python 2017. 6. 27. 11:07
0x03.10진수를 n진수로 변환하기 http://codingdojang.com/scode/458#answer-filter-area 역시 코딩도장의 문제이다. 재귀함수를 사용하여 구현하는데 일단 T는 16진수까지의 나올수 있는 나머지의 모임이다. quotient와 remainder는 뜻 그대로 몫과 나머지를 뜻하는데, divmod 함수를 통해 몫과 나머지를 리턴받는다. 몫이 0이라는 것은 더이상 계산할 필요가 없으니 마지막 리턴을 통해 끝낸다. 만약 몫이 0이 아니라면 재귀를 통해 다시 convert 함수를 실행하고 그 당시의 나머지를 리턴한다.
-
0x02.CamelCase를 Pothole_case 로 바꾸기0x.프로그래밍/Python 2017. 6. 26. 11:34
0x02.CamelCase를 Pothole_case 로 바꾸기 CamelCase는 자바스크립트와 같은 언어에서 자주 사용하는 형태로 camelCase, pwnWiz 와 같이 두 단어를 나누어 표시하기 위해 대문자를 사용하는 것과 같은 형태를 뜻한다. Pothole case는 파이썬과 같은 언어에서 주로 사용되는데 camel_case, pwn_wiz 와 같이 두 단어를 나누어 표시하기 위해 '_' 를 사용하는 형태이다. re 라이브러리를 사용하여 isdigit(), isupper()로 구분되는 단어를 찾고 그 단어에 '_'를 추가하여 리턴시키는 함수를 다음과 같이 구현하였다. 코딩도장의 문제인데 여러가지 해법이 많은 재미있는 문제이다.
-
0x01.파이썬으로 만드는 바운스게임 with 패들0x.프로그래밍/Python 2017. 6. 15. 13:48
0x01.파이썬으로 만드는 바운스게임 with 패들 저번에 포스팅한 바운스게임에서 패들을 더했다. 위 그림과 같이 패들을 통해 빨간공을 튕겨낼 수 있다. 빨간공이 바닥에 닿으면 움직임이 종료된다. Colored By Color Scripter™123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475from tkinter import *import randomimport time class Ball: def __init__(self, canvas, paddle, color): self.canvas=canvas s..
-
0x00.자바스크립트로 화면에서 움직이는 글자 만들기0x.프로그래밍/Web 2017. 6. 13. 16:11
0x00.자바스크립트로 화면에서 움직이는 글자 만들기 아래의 코드를 실행하면 위와 같이 알파벳들이 화면을 마구마구 돌아다니는 풍경을 볼 수 있음.. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 //랜덤 정수 생성 function nextRandomInteger(limit){ return Math.round(Math.random()*limit); } //랜덤 알파벳 리턴 var alphabe..
-
0x00.파이썬으로 만드는 바운스게임0x.프로그래밍/Python 2017. 6. 12. 10:05
0x00.파이썬으로 만드는 바운스게임 오늘 만들어볼 게임은 바운스게임인데, tkinter모듈로 규격을 정하고 공 객체를 생성하여 캔버스 안에서 지속적으로 바운스되게 하는 게임이다. 1) 모듈 1 2 3 from tkinter import * import random import time cs 위의 3모듈을 사용할 것이다. 2) 공 클래스 생성하기 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 class Ball: def __init__(self, canvas, color): self.canvas=canvas self.id=canvas.create_oval(10,10,25,25, fill=color) self.canvas.move(self.id,..
-
0x00.게터(Getter)와 세터(Setter)0x.프로그래밍/JavaScript 2017. 6. 5. 16:41
게터(Getter)와 세터(Setter) 자바스크립트를 공부하다보니 무심코 툭 튀어나온 개념이다. 게터와 세터... 도저히 이해가 안되서 구글링도 하면서 이해를 해서 이렇게 또 포스팅거리가 하나 생기게 되었다. 이렇게 생소한 개념을 아무렇지도 않게 사용할정도로 널리 유즈(use) 되고 있다니 ;; 게터와 세터를 사용하는 주 목적은 캡슐화이다. 캡슐화는 객체의 특정 부분을 사용자가 직접 활용할 수 없게 하는게 목적이다. 다시 말해, 악용될 우려가 있는 특정 속성 또는 메소드를 사용자가 사용하지 못하게 숨기는 역할을 한다. 1234567891011121314151617181920212223242526272829303132333435363738function person(h,w){ if(h