분류 전체보기326 [BOJ_11655] ROT13 문제 링크: https://www.acmicpc.net/problem/11655 11655번: ROT13 첫째 줄에 알파벳 대문자, 소문자, 공백, 숫자로만 이루어진 문자열 S가 주어진다. S의 길이는 100을 넘지 않는다. www.acmicpc.net 내 풀이: Review: 문제를 풀수록 파이썬 내장함수에 감탄을 한다. Idea: input()을 사용하여 문자열을 입력받고, for 반복문을 이용해 문자를 하나씩 가져온다. 해당 문자가 알파벳인지 아닌지를 먼저 판별하고, 만약 알파벳이라면 해당 문자의 아스키 코드 값에 13을 더한다. 해당 문자가 대문자인지 소문자인지 체크하고, 아스키 코드표에서 각각 대문자, 소문자의 범위를 벗어나는 경우 해당 처리를 하고, 아니라면 해당 숫자를 chr() 함수를 이용.. 알고리즘 문제 풀이: 파이썬/BOJ 2021. 7. 19. [프로그래머스] 숫자 문자열과 영단어 문제 링크: https://programmers.co.kr/learn/courses/30/lessons/81301 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내 풀이: Review: replace() 함수는 해당 문자열을 복사하고 부분 문자열 old를 전부 new로 치환하여 리턴한다. 이 때문에 기존 문자열의 변경이 필요하다면 해당 문자열에 참조시켜야 치환된 결과가 반영된다. 파이썬의 sort()와 sorted()의 차이점을 생각해보면 이 부분을 좀 더 명확하게 이해할 수 있을 것 같다. Idea: 입력값인 문자열에는 숫자와 문자로 구성된 숫자가 주어.. 알고리즘 문제 풀이: 파이썬/Programmers 2021. 7. 14. [BOJ_11651] 좌표 정렬하기 2 문제 링크: https://www.acmicpc.net/problem/11651 11651번: 좌표 정렬하기 2 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. www.acmicpc.net 내 풀이: Review: sorted() 내장함수를 사용해서 정렬할 때 람다 함수(lambda)로 정렬하고자 하는 순서대로 인자를 전달할 수 있다면 쉽게 구현할 수 있는 문제이다. Idea: 좌표를 y 좌표가 증가하는 순으로, y 좌표가 같으면 x 좌표가 증가하는 순서로 정렬하면 된다. 정렬을 위해 비교할 아이템의 개수가 둘 이.. 알고리즘 문제 풀이: 파이썬/BOJ 2021. 7. 13. [BOJ_1668] 트로피 진열 문제 링크: https://www.acmicpc.net/problem/1668 1668번: 트로피 진열 민식이는 “오민식”이라는 팀이름으로 수없이 많은 로봇대회를 우승했다. 따라서 민식이의 집에는 트로피가 많다. 민식이는 트로피를 어떤 선반 위에 올려놨다. 이 선반은 민식이의 방문을 열 www.acmicpc.net 내 풀이: Review: 내 코드에서 카운트를 세는 코드는 중복되는 부분이다. 해당 부분을 함수로 빼서 만들었다면 중복 없는 코드를 짤 수 있었을 것 같다. 문제를 푸는 것도 중요하지만 코드의 효율성도 고려하자. Idea: 처음 풀이할 때 리스트에서 인접 원소 간 비교를 통해(idx와 idx+1의 값을 비교) 개수를 세는 방법을 이용했다. 하지만 입력값이 다음과 같다면(ex. [1, 2, 3,.. 알고리즘 문제 풀이: 파이썬/BOJ 2021. 7. 11. [BOJ_7568] 덩치 문제 링크: https://www.acmicpc.net/problem/7568 7568번: 덩치 우리는 사람의 덩치를 키와 몸무게, 이 두 개의 값으로 표현하여 그 등수를 매겨보려고 한다. 어떤 사람의 몸무게가 x kg이고 키가 y cm라면 이 사람의 덩치는 (x, y)로 표시된다. 두 사람 A 와 B의 덩 www.acmicpc.net 내 풀이: 참고용 풀이: Review: 내 풀이와 여러 풀이들을 확인해본 결과 문제 풀이의 아이디어는 제대로 구현한 것 같다. 내 코드와 참고용 풀이를 비교했을 때 잘했던 점은 리스트 컴프리헨션을 통해 여러 input을 코드 한 줄로 입력받았던 부분이다. 아쉬웠던 점은 for-in 문에서 range()를 사용하지 않아도 충분히 구현할 수 있는데 range()를 사용해서 i.. 알고리즘 문제 풀이: 파이썬/BOJ 2021. 7. 11. [BOJ_1259] 펠린드롬수 문제 링크: https://www.acmicpc.net/problem/1259 1259번: 팰린드롬수 입력은 여러 개의 테스트 케이스로 이루어져 있으며, 각 줄마다 1 이상 99999 이하의 정수가 주어진다. 입력의 마지막 줄에는 0이 주어지며, 이 줄은 문제에 포함되지 않는다. www.acmicpc.net 내 풀이: 참고용 풀이: Review: 나는 입력값을 리스트 자료형으로 바꾼뒤 내장함수를 사용해 해당 문제를 해결하였다. 참고용 풀이에서는 문자열 슬라이싱으로 해결했다. 해당 부분을 다시 복습해야겠다. Idea: 입력값을 map과 list를 사용하여 숫자형 리스트로 입력 받는다. 해당 리스트의 원소가 0만 존재하는 경우 break를 통해 반복문을 빠져나간다. 반복문을 빠져나가는 경우가 아닐 때, co.. 알고리즘 문제 풀이: 파이썬/BOJ 2021. 7. 5. [BOJ_1316] 그룹단어 체크 문제 링크: https://www.acmicpc.net/problem/1316 1316번: 그룹 단어 체커 그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때 www.acmicpc.net 내 풀이: 참고용 풀이: Review: 내 풀이에서는 단어에서 두 개 이상의 알파벳에 대해 체크했지만 참고용 풀이에서는 모든 원소에 대해 인접 원소를 비교해서 문제를 해결한 것을 확인할 수 있다. j번째 원소가 j+1번째 원소와 같지 않을 때, j+1번째의 원소 보다 나중에 나오는 원소에서 j번째 원소랑 일치하는 것이 있다면 그룹 단어의 count를 1.. 알고리즘 문제 풀이: 파이썬/BOJ 2021. 7. 1. [BOJ_10773] 제로 문제 링크: https://www.acmicpc.net/problem/10773 10773번: 제로 첫 번째 줄에 정수 K가 주어진다. (1 ≤ K ≤ 100,000) 이후 K개의 줄에 정수가 1개씩 주어진다. 정수는 0에서 1,000,000 사이의 값을 가지며, 정수가 "0" 일 경우에는 가장 최근에 쓴 수를 지우고, 아닐 경 www.acmicpc.net 내 풀이: 참고용 풀이: Review: 참고용 풀이에서 for-in문의 map()을 사용한 것을 보고 기록하기 위해서 포스팅을 했다. map()에 대해 더 자세히 공부할 필요성이 느껴졌다. 유독 파이썬에서만 삼항연산자를 사용하는 것이 어색한다. 익숙하지기 위해 많이 사용해봐야겠다. Idea: 첫 번째 input() 만큼 for 반복문을 돌며 input.. 알고리즘 문제 풀이: 파이썬/BOJ 2021. 7. 1. [BOJ_1157] 단어공부 문제 링크: https://www.acmicpc.net/problem/1157 1157번: 단어 공부 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. www.acmicpc.net 내 풀이: Review: 구현의 아이디어는 어렵지 않은 문제였다. 딕셔너리의 value가 최대일때 key를 추출하는 리스트 컴프리헨션 부분만 구현할 수 있다면 정말 쉬운 문제이다. Idea: 입력값으로 주어진 문자열을 대문자로 변환하고, for 반복문을 사용해 원소를 하나씩 읽는다. 원소가 미리 선언한 딕셔너리에 존재한다면 value를 1 증가시키고, 그렇지 않다면 알파벳을 key로 value는 1로 하여 딕셔너리에 .. 알고리즘 문제 풀이: 파이썬/BOJ 2021. 7. 1. [프로그래머스] 올바른 괄호 문제 링크: https://programmers.co.kr/learn/courses/30/lessons/12909 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내 풀이: 참고용 풀이: Review: 리스트를 사용하여 스택을 구현해 해당 문제를 해결하였다. 처음 코드를 작성하였을 때 4가지 테스트 케이스(4번, 5번, 11번, 18번)에서 런타임 에러가 발생했는데 내 코드의 elif 구문을 추가함으로 해당 부분을 해결하였다. 참고용 풀이와 구현 포인트는 비슷하나 내 풀이와는 다르게 try-except 구문을 사용한 부분이 보이고, 마지막 리턴에서 True.. 알고리즘 문제 풀이: 파이썬/Programmers 2021. 6. 30. 이전 1 ··· 27 28 29 30 31 32 33 다음