업그레이트 (UpGreate)

- 威武不屈


  • Home

  • Categories

  • About

  • Archives

  • Tags

  • Search

python_class

Posted on 2019-08-07 | In LANGUAGE

Class 란?

  • 새로운 형식을 정의하는 것을 의미한다.
  • 속성과 데이터를 변경하는 함수를 이름 공간에 묶어 놓는다.

인스턴스란?

  • Class를 생성한 복사본

객체지향프로그램 3가지 특징

  1. 추상성
    • 필요한 부분을 구현
  2. 상속성
    • 부모클래스에서 공통부분을 상속 받는다.
  3. 다형성
    • 동일한 인터페이스에 대해 구체적인 인스턴스마다 다른 동작을 하게 하는 것이다.

※ 객체지향프로그램은 조립을 통한 개발을 가능하게 해준다.

Class 정의 방법

1
2
3
4
5
class 클래스이름 (상위클래스):
    def 함수명 (self, 인자1, 인자2, ...):
        statement 1
        statement 2
        return

※ class는 멤버변수를 초기화 할 수 있고, 멤버 메소드를 정의할 수 있다.

Read more »

SW Expert Academy - D2_1284

Posted on 2019-08-07 | In ALGORITHM

D2_1284. 수도 요금 경쟁

문제:

아름이를 포함하여 총 N명의 사람이 돌 던지기 게임을 하고 있다.

이 돌 던지기 게임은 앞으로 돌을 던져 원하는 지점에 최대한 가깝게 돌을 던지는 게임이다.

정확하게 말하면 밀리미터 단위로 -100,000에서 100,000까지의 숫자가 일렬로 써져 있을 때, 사람들은 숫자 100,000이 써져 있는 위치에 서서 최대한 0에 가까운 위치로 돌을 던지려고 한다.

삼성전자에 입사한 종민이는 회사 근처로 이사를 하게 되었다.

그런데 집의 위치가 두 수도 회사 A, B 중간에 위치하기에 원하는 수도 회사를 선택할 수 있게 되었는데, 두 회사 중 더 적게 수도 요금을 부담해도 되는 회사를 고르려고 한다.

종민이가 알아본 결과 두 회사의 수도 요금은 한 달 동안 사용한 수도의 양에 따라 다음과 같이 정해진다.

A사 : 1리터당 P원의 돈을 내야 한다.

B사 : 기본 요금이 Q원이고, 월간 사용량이 R리터 이하인 경우 요금은 기본 요금만 청구된다. 하지만 R 리터보다 많은 양을 사용한 경우 초과량에 대해 1리터당 S원의 요금을 더 내야 한다.

img

종민이의 집에서 한 달간 사용하는 수도의 양이 W리터라고 할 때, 요금이 더 저렴한 회사를 골라 그 요금을 출력하는 프로그램을 작성하라.N명의 사람들이 던진 돌이 떨어진 위치를 측정한 자료가 주어질 때, 가장 0에 가깝게 돌이 떨어진 위치와 0 사이의 거리 차이와 몇 명이 그렇게 돌을 던졌는지를 구하는 프로그램을 작성하라.

입력:

  1. 테스트 케이스 T
  2. 케이스 별로 P,Q,R,S,W (1 ≤ P, Q, R, S, W ≤ 10000, 자연수) 공백으로 구분

출력:

ex)

#1 90 #2 1800

생각한 로직:

  • 조건을 잘 구분한다.
  • A사 리터당 P원
  • B사
    • R이하 기본요금 Q원
    • R초과 리터당 S원 —> (사용-R)*S원

코딩:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
for tc in range(1,int(input())+1):
   P,Q,R,S,W = map(int,input().split())
   result = 0
   A = P*W
   B = 0
   if W <= R:
       B = Q
   else:
       B = Q+(W-R)*S
   if A<B:
       result = A
   else:
       result = B
   print("#{} {}".format(tc,result))

Read more »

Putty (SSH) 접속 방법

Posted on 2019-08-06 | In PRODUCT

Putty 접속방법 (SSH)

  • 접속 아이피 입력 128.134.123.123
  • 접속 포트 입력 port:8000
  • 아이피 주소 찾기 ip addr
Read more »

SW Expert Academy - D2_1204

Posted on 2019-08-06 | In ALGORITHM

D2_1204. 최빈수 구하기

문제:

어느 고등학교에서 실시한 1000명의 수학 성적을 토대로 통계 자료를 만들려고 한다.

이때, 이 학교에서는 최빈수를 이용하여 학생들의 평균 수준을 짐작하는데, 여기서 최빈수는 특정 자료에서 가장 여러 번 나타나는 값을 의미한다.

다음과 같은 수 분포가 있으면,

10, 8, 7, 2, 2, 4, 8, 8, 8, 9, 5, 5, 3

최빈수는 8이 된다.

최빈수를 출력하는 프로그램을 작성하여라 (단, 최빈수가 여러 개 일 때에는 가장 큰 점수를 출력하라).

[제약 사항]

학생의 수는 1000명이며, 각 학생의 점수는 0점 이상 100점 이하의 값이다.

입력:

  1. 테스트 케이스 T
  2. 테스트 케이스 번호
  3. 점수

출력:

ex)

#1 71 #2 76

생각한 로직:

  • 받은 값을 정렬하고 뒤에서 부터 탐색을하는데 카운트 값이 클때마다 그녀석을 최대 값으로 설정한다.

코딩:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
for tc in range(1,int(input())+1):
    T = int(input())
    arrlist = list(map(int,input().split()))
    arrlist.sort()
    bCnt = 0
    bRes = 0
    cnt = 0
    r = 0
    for i in range(len(arrlist)-1,0,-1):
        if arrlist[i]==arrlist[i-1]:
            cnt+=1
            r=arrlist[i]

        else:
            if cnt > bCnt:
                bCnt = cnt
                bRes = r
            cnt=0

    print("#{} {}".format(tc,bRes))

Read more »

markdown 문서 변환기

Posted on 2019-08-05 | In PRODUCT

Pandoc_markdown 변환기

[TOC]

설치

수동으로 설치

https://github.com/jgm/pandoc/releases 에 연결후 맨 아래 Downloads에서 사용하는 OS 에 맞는 버전 다운로드

  • Windows - https://github.com/jgm/pandoc/releases/download/2.5/pandoc-2.5-windows-x86_64.msi
  • Mac OS X - https://github.com/jgm/pandoc/releases/download/2.5/pandoc-2.5-macOS.pkg

Package manager 로 설치

H4. CENTOS
1
`yum install pandoc`
UBUNTU
1
`sudo apt install pandoc`
OS X
1
`brew install pandoc`
WINDOWS
1
`choco install pandoc`

PDF 출력

  • http://pandoc.org/installing.html

pdf로 만들려면 Latex 패키지를 설치해야 하며 권장하는 패키지는 OS 마다 다름

Windows 에서는 https://miktex.org/ 를 OS X 는 http://www.tug.org/mactex/morepackages.html 를 설치하고 필요한 패키지는 tex의 패키지 매니저 사용

사용

cmd 나 쉘에서 pandoc 명령어로 원하는 포맷으로 변환

markdown 변환

  • http://pandoc.org/getting-started.html

test.md 파일로 저장

test.md

1
2
3
# Test!
This is a test of *pandoc*.
- list one``- list two

cmd 나 쉘에서 다음 명령어 실행

1
pandoc test1.md -f markdown -t html -s -o test1.html
  • -f : from 원본 소스의 포맷(html, json, markdown, docx 등)
  • -t : to 변환할 포맷(html, json, markdown, docx 등)
  • -s : standalone
  • -o : output 출력 파일 이름

test1.md 가 다음 html 로 변환됨

여기를 클릭하여 펼치기…

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type"content="text/html; charset=utf-8"/>
        <meta http-equiv="Content-Style-Type"content="text/css"/>
        <meta name="generator"content="pandoc"/>
        <title></title>
        <style type="text/css">code{white-space: pre;}</style>
    </head>
    <body>
        <h1 id="test">Test!</h1>
        <p>This is a test of <em>pandoc</em>.</p>
        <ul>
            <li>list one</li>
            <li>list two</li>
        </ul>
    </body>
</html>

markdown 을 MS WORD(docx) 로 변환

1
`pandoc test1.md -f markdown -t docx -s -o test1.docx`

Ref

  • https://github.com/jgm/pandoc/releases
Read more »
1 … 23 24 25 … 32
Sik

Sik

156 posts
7 categories
30 tags
RSS
© 2021 Sik
Powered by Jekyll
Theme - NexT.Muse