일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- js
- 백준
- HTML
- web
- c++
- 장고
- AWS
- react
- Git
- PYTHON
- es6
- 알고리즘 풀이
- form
- Baekjoon
- django widget
- javascript
- 파이썬 알고리즘
- 알고리즘 문제
- 알고리즘 연습
- django ORM
- 파이썬
- java
- CSS
- Algorithm
- API
- DRF
- 알고리즘
- MAC
- django rest framework
- Django
- Today
- Total
목록알고리즘 문제 (8)
수학과의 좌충우돌 프로그래밍
안녕하세요 강민성입니다. 이번에 풀 문제는 2018서머코딩 알고리즘 문제 중 하나 입니다. 대회에서 나오는 문제들을 보면 매번 저런 문제를 어떻게 만들어내는지 그저 신기할 따름입니다. 문제를 이해하고 코드를 짜는 것도 적지 않은 시간이 걸리곤 하는데... 요즘 주변에 취업원서 넣고 코딩테스트 보러 가는 사람들이 많아서 그런지 알고리즘의 중요성을 새삼 다시 깨닫습니다. 1차에서 떨어지는 경우도 비일비재 하더라고요. 그러면 문제 보도록 하겠습니다. [ 문제 ] xx 회사의 2xN명의 사원들은 N명씩 두 팀으로 나눠 숫자 게임을 하려고 합니다. 두 개의 팀을 각각 A팀과 B팀이라고 하겠습니다. 숫자 게임의 규칙은 다음과 같습니다. 먼저 모든 사원이 무작위로 자연수를 하나씩 부여받습니다. 각 사원은 딱 한 번씩..
안녕하세요 강민성입니다. 이번엔 간단한 문제지만 배울 점이 있어서 쉬운 문제를 하나 들고 왔습니다. 문제 한 번 보실까요? [문제] 프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다. 전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요. 제한 조건 s는 길이 4 이상, 20이하인 문자열입니다. 입출력 예 phone_number return 01033334444 *******4444 027778888 *****8888 문제를 푸는데는 크게 어려움이 없었습니다. 12345678910111213def solution(phone_number):..
안녕하세요 강민성입니다. 제목에서도 보셨겠지만 오늘 다뤄볼 주제는 '시저암호' 입니다. 시저암호는 들어본 분들도 계실꺼예요. 시저암호는 카이사르 암호라고도 하는데 암호 중에 가장 간단한 암호라고 할 수 있습니다. 암호화 하는 방식은 문제에 나와 있으니 문제를 보며 알아보도록 하겠습니다. [ 문제 ] 어떤 문장의 각 알파벳을 일정한 거리만큼 밀어서 다른 알파벳으로 바꾸는 암호화 방식을 시저 암호라고 합니다. 예를 들어 AB는 1만큼 밀면 BC가 되고, 3만큼 밀면 DE가 됩니다. z는 1만큼 밀면 a가 됩니다. 문자열 s와 거리 n을 입력받아 s를 n만큼 민 암호문을 만드는 함수, solution을 완성해 보세요. 제한 조건 공백은 아무리 밀어도 공백입니다. s는 알파벳 소문자, 대문자, 공백으로만 이루어..
안녕하세요 강민성입니다. 오랜만에 알고리즘 공부를 하니 level 1 문제도 잘 안풀리더라고요. 프로그래머스는 그 문제를 푼 사람수를 알려주는데 level 1 에서 가장 어려운 문제이긴 했습니다. 반성하며 다시 으쌰으쌰해서 공부해볼까 합니다. 그러면 문제를 봐보도록 하겠습니다. [문제] 배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 배열 arr에서 제거 되고 남은 수들을 return 하는 solution 함수를 완성해 주세요. 단, 제거된 후 남은 수들을 반환할 때는 배열 arr의 원소들의 순서를 유지해야 합니다. 예를들면 arr = [1, 1, 3, 3, 0, 1, 1..
안녕하세요 여러분 알고리즘 외에도 여러가지를 공부하다보니 하루에 한 개씩 포스팅을 하겠다던 계획을 지키기가 많이 어렵네요 ㅠㅠ 곧 알고리즘 외에도 웹프로그래밍, 인공지능 등 유익한 정보로 찾아뵙도록 하겠습니다. 오늘 알아볼 내용은 '땅따먹기' 입니다. 제목만으로는 무슨 문제가 유추가 안될텐데요, 문제는 다음과 같습니다. [ 문제 ] 땅따먹기 게임을 하려고 합니다. 땅따먹기 게임의 땅(land)은 총 N행 4열로 이루어져 있고, 모든 칸에는 점수가 쓰여 있습니다. 1행부터 땅을 밟으며 한 행씩 내려올 때, 각 행의 4칸 중 한 칸만 밟으면서 내려와야 합니다. 단, 땅따먹기 게임에는 한 행씩 내려올 때, 같은 열을 연속해서 밟을 수 없는 특수 규칙이 있습니다. 예를 들면, | 1 | 2 | 3 | 5 || ..
안녕하세요 강민성입니다. 이번에는 처음으로 level4 에 도전했는데요, 관련된 개념을 한 번 본 적이 있어서 level 4 치고는 쉽게 풀 수 있었습니다. 그러면 문제 부터 보시겠습니다. [ 문제 ] 올바른 괄호란 (())나 ()와 같이 올바르게 모두 닫힌 괄호를 의미합니다. )(나 ())() 와 같은 괄호는 올바르지 않은 괄호가 됩니다. 괄호 쌍의 개수 n이 주어질 때, n개의 괄호 쌍으로 만들 수 있는 모든 가능한 괄호 문자열의 갯수를 반환하는 함수 solution을 완성해 주세요. 제한사항 괄호 쌍의 개수 N : 1 ≤ n ≤ 14, N은 정수 입출력 예 n result 2 2 3 5 입출력 예 설명 입출력 예 #1 2개의 괄호쌍으로 [ (()), ()() ]의 2가지를 만들 수 있습니다. 입출력..
안녕하세요 강민성입니다. 프로그래머스에서 문제를 풀다보면 다음과 같은 문구를 보실 수 있을 겁니다. # 알고리즘 연습 문제가 개편 되었습니다. 이로 인해 함수 구성이 변경되어, 과거의 코드는 동작하지 않을 수 있습니다. 말 그대로 18년 5월 정도 부터 문제들이 약간씩 바뀌고 문제가 같더라도 테스트 케이스가 더 복잡해지고 정교해져서 옛날 풀이도 정답이 아닐 수 있습니다. 다른 블로그에 포스팅 된 글이나 프로그래머스 내에서 다른 사람의 풀이를 보실 때 참고하시길 바랍니다. 저는 개편된 후의 풀이임을 알립니다. [ 문제 ] 자연수 n이 주어졌을 때, n의 다음 큰 숫자는 다음과 같이 정의 합니다. 조건 1. n의 다음 큰 숫자는 n보다 큰 자연수 입니다. 조건 2. n의 다음 큰 숫자와 n은 2진수로 변환했..
안녕하세요 강민성입니다. 블로그에 글을 올리는 게 처음이라서 두서가 없을 수도 있지만 최대한 이해하기 쉽도록 잘 올려보도록 하겠습니다. 우선 제가 현재 알고리즘을 공부하고 있는 사이트는 프로그래머스 라는 사이트입니다. https://programmers.co.kr 이 주소로 들어가시면 알고리즘 문제 뿐만 아니라 좋은 강의들도 많으니 한 번 둘러 보시는 것도 좋을 것 같아요! 저는 파이썬으로 가능한 프로그래머스의 모든 문제를 다 풀 것이기 때문에 궁굼한 사항 있으면 다른 게시물을 참고하시거나 문의 주시면 감사하겠습니다 ㅎㅎ 문제 부터 설명을 드리면 [ 문제 ] Finn은 요즘 수학공부에 빠져 있습니다. 수학 공부를 하던 Finn은 자연수 n을 연속한 자연수들로 표현 하는 방법이 여러 개라는 사실을 알게 되..