티스토리 뷰


한화시스템 BEYOND SW 캠프 9기 33일차

2024.08.02_금

 

문제 추천을 또 받았다!!

이번에는 시간복잡도 관련해서 런타임 에러가 많이 발생하는 문제라고 했다.

우선 함 풀어보자!

Coding Test Practice > 연습문제 > 햄버거 만들기

https://school.programmers.co.kr/learn/courses/30/lessons/133502

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

햄버거 만들기

def solution(ingredient):
    answer = 0
    burger = [1, 2, 3, 1]
    stack = []
    
    # stack에 ingredient를 하나씩 넣어주고 burger와 비교하면서
    # 마지막 4개가 버거와 같다면 answer에 1 더해주고 stack에서는 해당 부분 삭제
    for i in ingredient:
        stack.append(i)
        if stack[-4:] == burger:
            del stack[-4:]
            answer += 1
    
    return answer

 

보통 런타임 에러가 많이 발생하는건 제한사항을 보면 주어지는 값의 범위가 크고

(약 1억 개의 데이터가 반복하는데 1초 정도 걸린다고 한다.)

이중 for 문을 돌리게되면 보통 발생한다.

 

처음에 이 문제 while로 풀어봤는데...어떻게 while문을 종료해줘야할지 몰라서

다른 방법을 강구해봤다.

그래서 생각해낸것이 스택을 이용해보는 것!!

 

for문 한 번만 이용하고 제한사항에 있는 조건도

1 ≤ ingredient의 길이 ≤ 1,000,000 이여서 (2중 for문 돌리면 안되고)

런타임 에러가 뜨지 않고 통과 되었다!!

 

수업 끝나고 푼 문제는 내가 올해 처음 (대략 4월쯤) 코딩테스트라는걸 배우고

파이썬을 코테용으로 혼자 공부할 때 풀던 문제였는데,

오랜만에 풀어봤는데 풀렸다....

 

Coding Test Practice > 코딩 기초 트레이닝 > 조건에 맞게 수열 변환하기 2

https://school.programmers.co.kr/learn/courses/30/lessons/181881

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

def solution(arr):
    arr_now = []            # 현재 배열
    
    cnt = 0

    # 이전 배열과 맞는지 확인
    while 1:
        
        # arr 하나씩 돌려보면서 조건에 맞는지 확인
        for i in arr:
            if i % 2 == 0 and i >= 50:
                arr_now.append(i // 2)
            elif i % 2 == 1 and i < 50:
                arr_now.append(i * 2 + 1)
            else:
                arr_now.append(i)
        
        cnt += 1
        
        if arr == arr_now:
            return cnt-1
            
        else :
            arr = arr_now
            arr_now = []

수업은 JDBC를 드디어 시작했다.

인텔리제이에서 DB를 연결해야하는데 맥북이 어색하고 많이 안써봐서 그런지

자꾸 오류가 발생하고 연결도 잘 안되더라..

 

root에서 host를 localhost로 계정을 만들고
그 다음에 %로 만들어보니 만들어졌다.

 

처음부터 %로 만들었을 때는 안됐었는데, 먼저 localhost로 만드니까 되더라

이렇게 맥북으로 DB 쓰는 연습하는거지~~

ㅋㅋㅋㅋㅋㅋㅋㅋ

 

연결이 잘 되었다!! 값도 잘 들어갔고..!!

이렇게 오류 나오면 그냥 바로 스샷 찍어놓고 이렇게 마무리할 때 사용하면서

오류 뭐가 있는지 보고 공부도 하고 하자!!

 

지금까지 공부하고 회고쓰는 방식 좋다!!

이렇게만 하자!!

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/07   »
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
글 보관함