[항해99] 9일차 10일차 알고리즘 문제 마라톤

IT/Bootcamp 항해99|2021. 6. 16. 23:33

항해 99

 

항해 10일차 :

 

9일차 월요일 

10일차 화요일 

주어진 백준 문제를 푸는방식이다.

 

1) 알고리즘 

이런 알고리즘 문제푸는건 처음 접해보는데, 재밌기도하고 , 멘탈이 나가기도한다.

그래도 강사님이 직접뽑은문제는 왠지 될것같은데 안될것같아서 왜 안돼지 이러면서 풀다가 마지막에 다른사람 해법을 보고 다시 맞출수있다.(결론은 못푼다는 소리)

 

못풀어도 한번 해법을 보고 풀어보고 나중에 한번더 풀어봤을때 풀수있다면, 괜찮은거라고 그래서 일단은 이렇게 진행중...

 

 

모두  주어진 알고리즘 문제를 풀었다. 

오늘 기말고사가있어서 어저께는 많이 못풀고  블로그도 못남겻다. 

Cyber Security  기말고사 - open book이라서 그냥  lecture note 한번씩만 읽었다.

 

 

23일까지 40문제를 목표로 풀고있다.

18일날 학교 알고리즘 기말고사가있는데,  스파르타 알고리즘 강의 랑 겹치는부분이많아서  같이 공부할수있어서 정말 다행인것같다.

 

 

오늘 푼문제 :

 

백준 4673 문제 : 

배운것 :   어저께   a // 10 이나   a % 10으로  십의자리와 일이자리를 만들엇는데 숫자가 커지다보니깐 이방식이 효율적이지않다.

문제에서 알려준대로  function을 만들어서 풀면 가능했다. 

def d(n):
    b=0
    for i in list(str(n)):
        b = b+ int(i)
    return int(n)+b

not_self_list = []
for n in range(1,100001):
    number = d(n)
    not_self_list.append(number)

for n in range(1,100001):
    if n in not_self_list:
        pass
    else:
        print(n)

이두개는 무엇이다를까? 

하나는 맞는코드이고 하나는 안맞는코드이고...

이걸로 거의 한시간동안 찾은것같다... 아이고 머리아퍼...ㅋㅋㅋㅋㅋㅋㅋ

def d(n):
    b=0
    for i in list(str(n)):
        b = b+ int(i)
        return int(n)+b

not_self_list = []
for n in range(1,100001):
    number = d(n)
    not_self_list.append(number)

for n in range(1,100001):
    if n in not_self_list:
        pass
    else:
        print(n)

백준문제 1157번 , 로컬에서 돌렸는데는 다 알맞은 답이나왔는데  ,  틀렷다고나왔다. 왜일까../.

더보기

위에서 aabbccc 를테스트해보면 c  가 나오는게아니라 ?가나온다.

이유는 aa bb가 두번씩 나와서 elif에서걸려서 바로 ?가나와서그런것같다.

 

 

input = str(input().lower())

 

alphabet_occurrence_array = [0] * 26

 

for i in list(str(input)):

if i.isalpha():

array_index = ord(i) - ord('a')

alphabet_occurrence_array[array_index] += 1

else:

print("Not a charter")



max_alpha_index =0

max_alpha_value =0

same_number = False

check_double = []

 

for index in range(len(alphabet_occurrence_array)):

 

value = alphabet_occurrence_array[index]

if value > max_alpha_value :

max_alpha_index = index

max_alpha_value = value

check_double.append(value)

 

if alphabet_occurrence_array.count(max(alphabet_occurrence_array))>=2:

print("?")

else:

print(chr(max_alpha_index+97).upper())

 

 

 

 

 

2) Node JS

 

주특기 선택 전에  Node JS에대한 설명을 들었다.  

JS기반의 Platform으로서  약 10년이된 기술스택이다.

 

기본강의 로는 : JS기초 + Node JS + Exress JS사용 

심화강의 로는 : Login기능 관련 opensource 사용하지않고 구현 ? 등있을예정이고

 

백앤드인만큼 Data Base에 관한 수업도있을예정.

또한 Test code , 추상화 개념도 다룰예정이라고 하셧다.

 

 

JavaScript - The Good Parts - Douglas Crockford - May 2008.pdf

라는 책인데 자바스크립트에 굉장한 전문가가 썻다고하니 추천하는 책이라고헀다.

 

깃허브에 무료로 풀려있는걸 보니 이걸로 보고 공부하면될듯하다.

https://github.com/skylermbang/research/blob/master/Frontend-books%26research/JavaScript%20-%20The%20Good%20Parts%20-%20Douglas%20Crockford%20-%20May%202008.pdf

 

skylermbang/research

resources for my development research . Contribute to skylermbang/research development by creating an account on GitHub.

github.com

 

반응형

댓글()