본문 바로가기

개인 공부185

[Python] 프로그래머스 : [1차] 다트 게임 https://school.programmers.co.kr/learn/courses/30/lessons/17682 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 문자열에 대한 문제이다. 빈 문자열에 연산할 내용을 추가해줄 것이다. 숫자일 경우, '+'와 함께 숫자를 추가하는데 연속으로 숫자가 오면 '+'을 빼고 숫자만 추가해준다. T, D, S는 제곱을 넣어준다. '*'와 '#'은 무조건 숫자 2칸 뒤에 위치하며 있을 수도 없을 수도 있기 때문에 숫자를 확인할 때 확인해서 추가해준다. '#'은 단순하게 해당 점수가 '-' 되므로 '-1*'를 곱.. 2022. 7. 5.
[Python] 프로그래머스 : [1차] 비밀지도 https://school.programmers.co.kr/learn/courses/30/lessons/17681 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 문자열에 대한 문제이다. 각 배열의 값을 이진수로 변환했을 때 비트 연산을 해주면 문제에서 원하는 대로 하나라도 1이면 1, 둘 다 0일 때 0으로 만들어 줄 수 있다. 이후 rjust() 함수로 자릿수를 맞춰준 다음에 '#'과 ' '으로 바꾸어주면 된다. 느낀 점 문자열에 대한 함수를 모를 때 되게 긴 코드가 만들어졌지만 알고 나니 엄청 깔끔해졌다. 이게 내장 함수를 아는 힘..? 코.. 2022. 7. 5.
[Python] 프로그래머스 : 문자열 내 마음대로 정렬하기 https://school.programmers.co.kr/learn/courses/30/lessons/12915?language=python3 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 정렬 문제이다. 최대 범위가 50이라 어떤 정렬을 사용해도 시간에 문제가 없을 것 같아서 그냥 내장 함수를 사용했다. 람다식을 이용해 n번 인덱스로 우선 정렬하고 그 다음으론 사전순으로 정렬하였다. 느낀 점 람다는 JS의 화살표 함수와 너무 비슷한 것 같다. 그리고 너무 편하다. 코드 def solution(strings, n): return sorted(.. 2022. 7. 5.
[Python] 백준 1431번 : 시리얼 번호 https://www.acmicpc.net/problem/1431 1431번: 시리얼 번호 첫째 줄에 기타의 개수 N이 주어진다. N은 50보다 작거나 같다. 둘째 줄부터 N개의 줄에 시리얼 번호가 하나씩 주어진다. 시리얼 번호의 길이는 최대 50이고, 알파벳 대문자 또는 숫자로만 이루어 www.acmicpc.net 문제 풀이 정렬 문제이다. 사실 직접 구현해도 되지만 시리얼 번호의 최대 개수가 50이고, 시간도 2초나 되어서 어떤 정렬법을 써도 상관이 없을 것 같아서 그냥 내장 함수를 이용했다. 람다식을 사용해서 길이, 숫자의 합, 사전식 이 세 가지 순서로 정렬시켰다. 느낀 점 처음에 틀리길래 도대체 뭐지 싶었는데, 한 줄에 하나씩 출력이었따.. 이번 주에 한번 정렬, 탐색을 쫙 정리해야겠다. 코드 .. 2022. 7. 5.
[Python] 백준 1449번 : 수리공 항승 https://www.acmicpc.net/problem/1449 1449번: 수리공 항승 첫째 줄에 물이 새는 곳의 개수 N과 테이프의 길이 L이 주어진다. 둘째 줄에는 물이 새는 곳의 위치가 주어진다. N과 L은 1,000보다 작거나 같은 자연수이고, 물이 새는 곳의 위치는 1,000보다 작거나 www.acmicpc.net 문제 풀이 그리디 문제이다. 문제에서 좌우 0.5 간격 어쩌고 쓰여있지만 정수만 주어지기 때문에 딱히 신경쓰지 않아도 괜찮다. 확인하는 값(arr[0])부터 테이프의 길이 - 1 (L - 1) 까지는 하나로 수리할 수 있으니 확인 값부터 테이프의 길이만큼 해당하는 값들을 배열에서 빼주고 값을 하나 추가하면 된다. 예를 들어 테이프의 길이가 3이고 물이 새는 곳이 1, 2, 3, 4.. 2022. 7. 4.
Today I Learned : 코딩테스트, 파이썬, 소수 (2) 💻 코딩테스트 네부캠을 지원해서 오랜만에 코테를 봤는데 오랜만에 하는 알고리즘이라 그런지 많은 부족함을 느꼈다. 나름 고민해서 분석한 결과 몇 가지 문제점이 있다! ❌ 문제점 시간 배분을 잘 못한다. 파이썬 빌트인 함수 이해도 부족 미숙한 파이썬 문법 절대적인 경험치 부족 당장 다음 코테까지 시간이 부족하므로 당장은 문제를 풀면서 해결하는 수 밖에 없는 것 같다. 🐍 파이썬 set은 집합을 나타내는 자료구조이다! cpp를 주언어로 했었다가 넘어와서 그런지 정말 파이썬이 좋은 언어라고 느낀점은 내가 생각하는 거의 그대로 표현이 된다는 점이다. ex. set(a) - set(b) itertools 라이브러리에 순열(permutation)과 조합(combination)을 만들어낼 수 있다! 사용법은 permu.. 2022. 7. 1.