업그레이트 (UpGreate)

- 威武不屈


  • Home

  • Categories

  • About

  • Archives

  • Tags

  • Search

python_변수,자료형,함수

Posted on 2019-08-17 | In LANGUAGE

변수, 자료형, 함수란?

변수

  • 여러가지 값으로 변할 수 있는 수

함수

  • 비슷한 목적으로 묶여진 약속 (built-in ; 이미 만들어진 것, 사용자 정의 함수 ; 직접 만들수도 있다.)

※ 바디는 { }를 생략하는 대신 들여쓰기로 구분한다.

자료형

  • 자료형이란 ? : 변수의 유형
    • 숫자형 : 정수, 실수
    • 문자열 : 문자들의 모음
    • 딕셔너리 : 순서를 가지지 않는 객체의 집합 ( 키로 값을 꺼낸다. )
    • 리스트 : 순서를 가지는 파이썬 임의의 집합
    • 세트 : 집합형태로 리스트처럼 값의 모임이지만 순서는 없다. (합,교,차)집합
    • 튜플 : 순서를 가지는 임의 객체 집합으로 내용 변경이 어렵다.
Read more »

SW Expert Academy - D2_1959

Posted on 2019-08-17 | In ALGORITHM

D2_1959. 두 개의 숫자열

문제:

  • N 개의 숫자로 구성된 숫자열 Ai (i=1~N) 와 M 개의 숫자로 구성된 숫자열 Bj(j=1~M) 가 있다.

  • 아래는 N =3 인 Ai 와 M = 5 인 Bj 의 예이다.

    img

  • Ai 나 Bj 를 자유롭게 움직여서 숫자들이 서로 마주보는 위치를 변경할 수 있다.

  • 단, 더 긴 쪽의 양끝을 벗어나서는 안 된다.

    img

  • 서로 마주보는 숫자들을 곱한 뒤 모두 더할 때 최댓값을 구하라.

  • 위 예제의 정답은 아래와 같이 30 이 된다.

    img

입력:

  1. 테스트 케이스 T
  2. 각 테스트 케이스 별 N,M (N 과 M은 3 이상 20 이하이다.)
  3. Ai
  4. Bj

출력:

ex)

#1 30 #2 63

생각한 로직:

  • 이중 포문을 활용해서 바깥쪽 하나는 큰 녀석에서 작은 녀석 비교 시작할 첫번째 위치를 선택
  • 안쪽은 작은녀석 다 돌아서 계산

코딩:

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
def findRes(Ai,Bi,N,M):
    global result
    if N<M:
        for lg in range(M-N+1):
            tmp=0
            for dd in range(N):
                tmp+=Ai[dd]*Bi[lg+dd]
            if tmp > result:
                result=tmp
    else:
        for lg in range(N-M+1):
            tmp=0
            for dd in range(M):
                tmp+=Ai[lg+dd]*Bi[dd]
            if tmp > result:
                result=tmp


for tc in range(1,int(input())+1):
    N,M = map(int,input().split())
    Ai = list(map(int,input().split()))
    Bi = list(map(int,input().split()))
    result = 0
    if N<M:
        for i in range(N):
            result+=Ai[i]*Bi[i]
    else:
        for i in range(M):
            result+=Ai[i]*Bi[i]
    findRes(Ai,Bi,N,M)
    print("#{} {}".format(tc,result))
Read more »

python_반복구문

Posted on 2019-08-16 | In LANGUAGE

반복구문

같은 일 여러번 반복

반복 while for in
제어 break continue
Read more »

SW Expert Academy - D2_1954

Posted on 2019-08-16 | In ALGORITHM

D2_1954. 달팽이 숫자

문제:

  • 달팽이는 1부터 N*N까지의 숫자가 시계방향으로 이루어져 있다.

  • 다음과 같이 정수 N을 입력 받아 N크기의 달팽이를 출력하시오.

  • [예제]

    N이 3일 경우,

    img

    N이 4일 경우,

    img

입력:

  1. 테스트 케이스 T
  2. 각 테스트 케이스 별 N (1 ≤ N ≤ 10)

출력:

ex)

#1 1 2 3 8 9 4 7 6 5 #2 1 2 3 4 12 13 14 5 11 16 15 6 10 9 8 7

생각한 로직:

  • 달팽이 숫자 리스트를 만들고 출력

코딩:

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
def makeSnaillist(direction,x,y,N):
    global resultlist
    global cnt
    if cnt==N*N:
        return
    cnt+=1
    resultlist[y][x] = cnt
    dx = [1,0,-1,0]
    dy = [0,1,0,-1]
    X = x + dx[direction]
    Y = y + dy[direction]
    if 0<=X<N and 0<=Y<N and resultlist[Y][X]==0:
            makeSnaillist(direction,X,Y,N)
    else:
        X = x + dx[(direction+1)%4]
        Y = y + dy[(direction+1)%4]
        makeSnaillist((direction+1)%4,X,Y,N)


def printList(listarr):
    for item in listarr:
        print(*item)

for tc in range(1,int(input())+1):
    N=int(input())
    resultlist = [[0]*N for x in range(N)]
    cnt=0
    makeSnaillist(0,0,0,N)
    print("#{}".format(tc))
    printList(resultlist)
Read more »

python_모듈

Posted on 2019-08-15 | In LANGUAGE

파이썬 모듈

모듈

  • 여러 코드를 묶어 다른 곳에서 재사용 할 수 있는 코드의 모음이다.

사용법

1
2
3
4
5
6
7
8
9
10
11
#os, math, bs4 모듈을 포함 시킬때 내용
import os
import math
import bs4

#copy 모듈 안에 copy 메서드를 포함
from copy import copy

#As 참조를 다른이름으로 설정 할 때 사용한다.
#os라는 이름대신 window를 쓰겠어~
import os as window

※ 파이썬 새 모듈 설치시 powershell 이나 cmd 창에서

1
pip install bs4

pip를 통해서 설치할껀데 bs4를 찾아서 설치해줘~ 라는 뜻

Read more »
1 … 19 20 21 … 32
Sik

Sik

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