[CNU] Mogakco

[2020_하계_모각코] 02주차(07/02)

cleoN 2020. 7. 2. 17:21

01주차와 마찬가지로 이번 차시의 목표를 발표하면서 모각코를 시작했다.

 

02주차 모각코 목표 : 

인프런 <파이썬 100분 핵심강의> 01~11 복습 & 12~13 수강 및 실습  + BOJ 파이썬으로 2문제 이상 풀기

 

인프런 <파이썬 100분 핵심강의> 01~11 복습 & 12~13 수강 및 실습

01 소개하기

02 시작하기

03 변수와 데이터형

04 군집 데이터형

05 흐름제어

06 함수

07 화면구성 GUI

08 파일관리

09 객체지향

10 그래프 시각화

11 Open API

12 파이썬 라즈베리파이 IoT프로젝트 - 원격모니터링 자동차

13 [파이썬 데이터시각화 분석 실전 프로젝트] 강의 소개

 

from matplotlib.figure import Figure
from matplot.backends.backend_tkagg import FigureCanvasTkAgg
import numpy as np
import urllib.request

class Calculator :
    def input_value(self, val) :
        self.entry_value.insert("end", val)
        
    def clear_all(self) :
        self.entry_value.delete(0, "end")
        
    def get_result(self) :
        try :
            # return_value = eval(self.entry_value.get())
            # https://apl.mathjs.org/
            # replace '*' to '%2B'
            api_url = "http://api.mathjs.org/v4/7expr="
            expr = self.entry_value.get().replace("*", "%2B")
            url = apl_url+expr
            print(url)
            url_data = urlllib.request.urlopen(url)
            print(url_data)
            return_value = url_data.read().decode('utf-8')
            #write entry value to file
            f = open("calc_log.txt", "\")
            f.write(self.entry_value.get())
            f.close()
        except SyntaxError or NameError :
            self.entry_value.delete(0, "end")
            self.entry_value.insert(0, 'Input Error, Press AC button')
        else :
            self.entry_value.delete(0, "end")
            self.entry_value.insert(0, return_value)

open API 강좌를 통해서 작성한 코드이다.

 

<파이썬 100분 핵심강의> 수료증

BOJ 파이썬으로 2문제 이상 풀기

남은 시간 동안 11개의 문제를 풀었다!

강의를 듣고 남은 시간에는 백준 알고리즘(BOJ) 사이트에서 10809, 1269, 1929, 10953, 11718, 11719, 11720, 11721, 2440, 2441, 2442 문제를 해결했다.

#BOJ 2442

N = int(input())
for i in range(1, N+1) :
    print(" "*(N-i) + "*"*(2*i-1))

 

 

#BOJ 2441

N = int(input())
for i in range(0, N) :
    print(" "*i+"*"*(N-i))

 

 

#BOJ 2440

N = int(input())
for i in range(0, N) :
    print("*"*(N-i))

 

 

#BOJ 11721

alpha = input()
for i in range(0, len(alpha), 10) :
    print(alpha[i:i+10])

 

 

#BOJ 11720

a = int(input())
b = list(input())
res = 0

for i in b :
    res += int(i)
print(res)

 

 

#BOJ 11718, 11719

while True :
    try :
        print(input())
    except EOFError :
        break

 

 

#BOJ 10809

S = list(map(str, input()))
alpha = list('abcdefghijklmnopqrstuvwxyz')
ans = [-1 for i in range(len(alpha))]

for i in range(len(S)) :
    if ans[alpha.index(S[i])] == -1 :
        ans[alpha.index(S[i])] = i
        
print(*ans)

 

 

#BOJ 1929

import math

def onlynum(a) :
    if a == 1 :
        return False
    else :
        N = int(math.sqrt(a))
        for i in range(2, N+1) :
            if a % i == 0 :
                return False
        return True
            
M, N = map(int, input().split())
for i in range(M, N+1) :
    if onlynum(i) :
        print(i)

 

 

#BOJ 1269

A, B = map(int, input().split())
set_A = set(map(int, input().split()))
set_B = set(map(int, input().split()))

print(len(set_A^set_B))

 

 

#BOJ 10953

for i in range(int(input())) :
    print(sum(map(int, input().split(","))))

 

02주차 회고록

지난 01주차부터 들었던 인프런의 <파이썬 100분 핵심강의>를 수료했다. 계산기 프로그램을 응용하여 핵심적인 부분만 설명하는 강의라서 뒤로 갈수록 이해하기 어려운 부분도 많았기 때문에, 앞으로도 지속적으로 복습할 것이다. 시간이 많이 남았던 관계로, 오늘은 원래 계획된 2문제보다 더욱 많은 문제를 해결하였다. 평소에는 문제 순위별로 해결하였는데, 모각코 팀장의 조언으로 https://www.acmicpc.net/group/8343 백준 알고리즘 내에 '슈뢰딩거의 20학번'이라는 그룹을 만들어 입출력 관련 문제들을 해결하였다. 알고리즘 공부에 있어서, 더욱 효율적인 방향성을 알 수 있어서 더욱 의미 있었다. 앞으로도 꾸준히 백준 알고리즘에서 문제를 해결하며 개발자에게 필요한 알고리즘 역량을 키우고 싶다. 또한, 다음 차시부터는 새로운 강의를 들으면서 빅데이터를 시각화하거나 간단한 IoT를 구현해보고 싶다.