Algorithm 7

[Python] programmers 방문 길이- 좌표 이동 구현

https://programmers.co.kr/learn/courses/30/lessons/49994 코딩테스트 연습 - 방문 길이 programmers.co.kr def solution(dirs): x, y = 0, 0 # 시작점 ways = ['00'] # 들린 위치의 좌표 # L, R, U, D에 따른 이동 방향 dx = [0, 0, -1, 1] dy = [-1, 1, 0, 0] move_types = ['D', 'U', 'L', 'R'] # 각 방향의 index D:0, U:1, L:2, R:3 # 이동 계획을 하나씩 확인 for dir in dirs: # 이동 후 좌표 구하기 for i in range(len(move_types)): if dir == move_types[i]: # 해당되는 무브..

[Python] programmers 스킬트리 - for ~ else구문, pop

https://programmers.co.kr/learn/courses/30/lessons/49993 코딩테스트 연습 - 스킬트리 programmers.co.kr def solution(skill, skill_trees): answer = 0 for skills in skill_trees: skill_list = list(skill) for s in skills: if s in skill: # - ⓐ if s != skill_list.pop(0): # - ⓑ break else:# - ⓒ answer += 1 return answer ⓐ - skills에서 개별스킬이 skill에 포함되어있을경우 ⓑ - skill의 리스트에서 0번 인덱스를 삭제함과 동시에 이 스킬과 개별 스킬이 다르다면 스킬트리순서 어겼..

문자열 관련 함수, 메서드(assorted)

str.join() : 합쳐서 리스트 저장 str.split() : 특정 기준으로 나눠서 리스트 저장 str[::-1] 순서 반대로 리턴 str.count() : str.find() : 특정 문자 인덱스 리턴(최초 등장 인덱스) str.upper() : 모든 문자 대문자로 리턴 str.lower() : 모든 문자 소문자로 리턴 str.capitalize() : 첫 글자만 대문자로 리턴 str.replace() list로 변환 list(str) : 띄어쓰기 포함 개별 문자 나눠서 리스트에 저장 list(str).resverse() : 순서 반대로

[Python] 백준 #1316 그룹 단어 체커 - sorted()

https://www.acmicpc.net/problem/1316 1316번: 그룹 단어 체커 그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때 www.acmicpc.net 1. 반복문으로 해결 n = int(input()) cnt = n for _ in range(n): word = input() for i in range(len(word) -1): if word[i] != word[i+1]: if word[i+1] in word[:i]: cnt -= 1 break print(cnt) i번째 단어와 i+1번째 단어가 다른경우에 i+1..

Algorithm/BAEKJOON 2021.11.08

[Python] 백준 #10809 알파벳 찾기 - 문자열, find() 메서드

https://www.acmicpc.net/problem/10809 10809번: 알파벳 찾기 각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출 www.acmicpc.net word = input()# word변수에 문자열 입력 alphabet = list(range(97,123))# 알파벳 범위 리스트 생성 for x in alphabet : print(word.find(chr(x)))# word에 포함된 알파벳 있다면 해당 알파벳의 인덱스값 출력 chr() 함수 정수를 인자로 입력하면 해당 숫자에 해당되는 문자를 출력한다. (cf. ord() 함수에 ..

Algorithm/BAEKJOON 2021.11.07

알고리즘 문제 입출력 코드 및 라이브러리 정리

1. 입력 코드 # 1 list(map(int,input().split()) # 숫자를 띄어쓰기로 구분하여 int type으로 리스트화 한다. # 2 n = int(input())# 변수 n에 int type의 개별 숫자 입력 data = list(map(int,input().split())# 변수 data에 #1의 기능 입력 # 3 n, m, k = map(int, input().split()) # 띄어쓰기로 구분된 각 숫자를 변수 n, m, k에 할당함 # 4 import sys sys.stdin.readline().rstrip()# sys패키지의 stdin기능을 활용하여 input()보다 빠른 입력이 가능 # 5 print(a, b) # print 기본 print(f"str {var}") 2. 활용..

반복되는 문자열에서 반복되는 부분 구하기

str = '문자열' x = len(str) for i in range(1, (x // 2)+1):# 문자열 절반의 값을 for문으로 반복 s = str[0:i]# s변수에 i값을 증가시키며 대입 count = int(x / i)# count변수에 문자열이 length를 i의 값으로 나눈값을 대입 # 전체 문자열이 s에 count를 곱한 값과 같다면 s에 반복되는 요소가 들어갔다는 의미이므로 break으로 반복문을 빠져나온다. if (s*count == str): print(s) break 특정한 문자열이 반복되어 있는 경우 반복되는 요소를 출력해준다. 문자열 절반의 값을 for문으로 반복하고 s변수에 i값을 증가시키며 대입한다. count변수에 문자열이 length를 i의 값으로 나눈값을 대입한다. 전..