
문제 요약 C개의 알파벳이 주어지고 L개의 문자로 암호가 구성됩니다. 암호는 다음과 같은 특징을 가집니다. 1. 알파벳이 증가하는 순서대로 배열된다. 2. 최소 1개의 모음을 가지고 있다. 3. 최소 2개의 자음을 가지고 있다. 이 때 가능한 모든 암호를 출력하는 것이 문제이다. 내가 문제 풀 때 생각했던 것 이런 구현 문제는 조건만 순서대로 지켜준다면 답이 나옵니다. 이 문제는 완전 탐색이라 복잡하게 느낄 수도 있지만 Python만의 방식이면 쉽게 풀 수 있다고 느꼈습니다.일단 알파벳을 조합해야하므로 combination을 써야겠다고 생각했고 증가하는 순으로 배열해야하기 때문에 sort도 생각했습니다. 또한 모음을 주의해서 신경써야하므로 따로 선언해놓고 문제를 푼다면 수월하게 풀 수 있다고 생각했습니다..

문제 요약 주어진 입력인 알파벳에 숫자를 대입하여 가장 큰 합을 찾아내는 것입니다. 분류는 브루트포스로 나와있지만 자릿수에 따라 바로바로 수를 대입한다고 생각하면 그리디 알고리즘이라 생각할 수 있습니다. 내가 문제 풀 때 생각했던 것 자릿수에 따른 숫자 대입이라 생각했습니다. 어짜피 6 + 7 이나 7 + 6 이나 같고 178 + 456 이나 158 + 476 이나 결과는 634로 같기 때문에 자릿수가 같을 때의 숫자는 상관 없다고 풀었습니다. 그래서 길이를 기준으로 정렬하고 길이가 가장 긴(= 자릿수가 가장 큰) 단어의 앞자리는 가장 큰 수인 9를 저장하고 앞자리만 없앴습니다. 그 다음으로 길이가 가장 긴 단어의 앞자리는 8을 저장하는 등 소거법으로 문제를 해결했습니다. 1차 풀이 from collec..
이번에 프로그래머스 여름방학 인턴을 지원해서 슬슬 알고리즘 문제를 풀어야할 것 같아서 시작했다. 정처기 실기도 공부해야하는데 아마 둘 다 잡으려다가 놓칠 것 같기도 하다.. 열심히 해보자!! 문제에 대한 설명은 건너 뛰고 바로 코드부터 보자 아래의 코드가 내가 푼 코드이다. 차례차례 7단계까지 조건을 통과하면서 조건에 맞는 answer가 나온다. 결과만 보면 괜찮지만 다른 사람의 풀이를 한 번 보자 def solution(new_id): answer = '' new_id = new_id.lower() for word in new_id: if word.isalnum() or word in '-_.': answer += word while '..' in answer: answer = answer.replac..

이번에 방학을 맞이하면서 알고리즘 준비를 위해 파이썬을 복습할 겸 파이썬으로 백준을 시작했습니다. 학교 에브리타임 이라는 커뮤니티 앱에서 알고리즘 스터디도 개설하여 참여를 시작했죠. 오늘의 문제는 10951번 문제인 A+B 출력하기 입니다. https://www.acmicpc.net/problem/10951 10951번: A+B - 4 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 우선 제가 풀었던 코드는 다음과 같습니다. number=map(int,input().split(' ')) print(number[0]+number[1]) 오류 내용을 보시면 map 함수에서 오류가 났네요. 그럼 제가 map 함수를 잘못 쓴 것 일까요? map 함수는 리..
- Total
- Today
- Yesterday