본문 바로가기

코딩테스트166

[python] 백준 11656 - 접미사 배열 📍 백준 11656 - 접미사배열 문제링크: 백준 11656 - 접미사배열 💡 나의 풀이 list comprehension으로 result 변수에 0부터 len(s)까지의 길이를 각각 슬라이싱에 대입했다. 조건에 정렬도 붙어있어 sort를 해줬다. s = input() result = [s[i:] for i in range(len(s))] result = sorted(result) for i in result: print(i) 👉🏽 aekjoon baekjoon ekjoon joon kjoon n on oon 2021. 4. 1.
[python] 백준 10798 - 세로 읽기 📍 [ 문제 8 ] 백준 10798 - 세로 읽기 백준 1157 - 세로 읽기 💡 나의 풀이 첫번째 조건은 잘 풀었는데 두번째 조건은 고민하는 시간이 오래 걸렸다. 주어진 리스트에서 세로로 읽으려면 2중 for문이 선언되어야한다. 만약, 입력이 빈칸없이 연속으로 주어진다면 단순하게 구할 수 있지만 입력에 빈칸이 존재한다면 조건문을 붙여줘야한다. 해결방법의 흐름은 크게 2가지가 있다. 먼저, 입력이 n줄로 한정되어있다면 반복문을 n으로 변경하면 되지만, 입력이 몇 줄이라고 주어지지 않을때는 max(len)을 구해야한다. 그리고, max(len)의 i가 j보다 크거나 같다면 continue를 사용해 상위 코드로 올라가서 건너뛰고 그렇지 않다면 값을 출력해주면 된다. ''' ABCDE a.. 2021. 4. 1.
[ 파이썬(python) ] 프로그래머스 level1 - 짝수와 홀수 📌 짝수와 홀수 짝수일 경우 "Even"을 반환하고 홀수인 경우 "Odd"를 반환해라. 💡 나의 풀이 문제 자체는 쉽지만 다른 사람의 코드 중 논리연산자와 단락평가를 이용해서 표현한게 신기해서 작성했다. # 내 코드 def solution(num): return 'Even' if num % 2 == 0 else 'Odd' # 다른 사람의 코드 def solution(num): return num % 2 == 0 and 'Even' or 'Odd' 2021. 4. 1.
[ 자바스크립트(JS), 파이썬(python) ] 프로그래머스 level1 - 정수 제곱근 판별 📌 정수 제곱근 판별 n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하는 문제. 1️⃣ 파이썬(Python) 풀이 root를 선언해서 root * root의 값과 n이 같은지 아닌지를 판별하면 된다. 이때, 같다면 root+1값을 제곱해주고 아니면 -1을 반환하면 된다. root를 선언하지 않고 return문에 풀어서 작성해도 되는데, 가독성을 위해 줄여봤다. # 내 코드 def solution(n): root = int(n ** 0.5) return (root+1) * (root+1) if root * root == n else -1 # 내 코드를 줄여쓴 코드 def solution1(n): root = int(n ** 0.5) return (root+1) ** 2 if root ** 2 == n el.. 2021. 4. 1.
[ 파이썬(python) ] 프로그래머스 level1 - 자연수 뒤집어 배열 만들기 📌 자연수 뒤집어 배열 만들기 12345를 [5,4,3,2,1]로 만들면 된다. 💡 나의 풀이 문제를 풀면서 배운점이 있는데, reverse와 reversed의 차이점이다. sorted 사용할 때만 reversed를 사용했었는데, 이런 차이점이 있는것은 몰랐다. 이제부터 까먹지 않도록 잘 외워놔야겠다. array.reverse(): list에서만 사용가능하다. reversed(seq): 메서드(method)나, 시퀀스(sequence)를 지원하는 객체에서 사용 가능하다. sequence(시퀀스): str(문자형), list(리스트), tuple(튜플) 참고로 reverse, reversed 모두 시간복잡도는 O(N)이다. reference: 파이썬 공식문서 - reverse 파이썬 공식문서 - rever.. 2021. 4. 1.