본문 바로가기

반응형

알고리즘

(52)
프로그래머스 - 문자열 계산하기(Python) 문제 설명알고리즘 고민일단 my_string이 문자열로 이루어져있기에 배열로 바꿔야 된다고 생각했다. 그런 후 + 나 - 문자를 만나면 그 다음 문자열을 더해주도록 하였다. 어차피 마지막은 + 나 - 기호가 나올 수 없기에 해결했다.코드 위에 코드로 해결은 되었지만 굳이 배열 변환이 필요할까? 의구심이 들었다. 그래서 이번엔 배열로 변환하지 않고 문자열로 인덱싱하여 해결하려 했다. 결과는..실패다..ㅋㅋ 이유를 생각해보았는데 문제 조건 중에 각 숫자의 범위가 한자리가 아니다.. 그러니까 문자열로 해결하려면 공백이 나올때까지의 문자를 묶어서 하나의 숫자로 변환해야한다. 그러면 for문으로 공백이 나온 시점과 그 다음 공백이 나올때를 묶어서 처리해야하는데 이 과정이 split으로 배열 변환을 하는 과정과 똑..
프로그래머스 - 옹알이(1)(Python) 문제 설명알고리즘 고민아기가 말할 수 있는 단어인 aya, ye, ma, woo를 배열로 선언해 놓고 babbling 배열에 있는 원소를 하나씩 가져와서 변수에 한 글자씩 추가하면서 아기가 말할 수 있는 단어에 있다면 변수를 초기화하고 없다면 그냥 그대로 실행하면서 그 단어를 말할 수 있는지 확인하도록 하면 될 것 같다. 코드
프로그래머스 - 햄버거 만들기(Python) 문제 설명알고리즘 고민일단 ingredient의 길이가 100만 이상이다. 기본적인 반복문으로는 해결하면 시간 측정 부분에서 오류가 날 것이 분명하다.[빵,야채,고기,빵] 순으로 되어있을 때 그 값을 빼주면 될 것 같다.ingredient요소를 스택구조에 넣어두고 맨 뒤에 4개를 확인하고 만약 정해진 순서라면 그만큼 pop해서 빼면 해결 가능할 것 같다.
프로그래머스 - n진수 게임 문제 설명 알고리즘 고민 자신의 차례가 왔을 때 말해야할 숫자를 미리 저장해야한다.단순하게 미리 구할 숫자의 갯수에 참가하는 인원 수를 곱한 만큼의 숫자들을 구해놓으면 튜브의 순서에 맞는 인덱스만 뽑아내서 출력하면 된다.여기서 내가 고민했던 부분은 진법 변환이었다... 진법 변환 하는 알고리즘을 직접 만들어야 하는데 이부분에서 헤멨다. 다른 분들의 코드를 참고해보니 파이썬 내장 함수인 divmod(n, base)를 사용하여 n을 base로 나눈 몫을 q에, 나머지를 r에 저장하여 재귀함수로 구현하였다. 이 알고리즘을 사용해서 나머지 부분을 구현하였다. ▶ 배운 점 a, b = divmod(n, base) : a는 n을 base로 나눈 몫, b는 n을 base로 나눈 나머지

반응형