문자열 (12) 썸네일형 리스트형 백준 2671 잠수함식별(파이썬) 문제 코드 import re def confirm(pattern): return bool(re.fullmatch('(100+1+|01)+', pattern)) def sol(): answer = confirm(input()) if answer: print("SUBMARINE") else: print("NOISE") sol() 풀이 처음에는 입력값을 하나씩 풀어서 제공하려고 하였으나 제출하는 중 실패가 나와 검색을 해보았고 정규식 모듈(Regular Expression 줄여서 re)가 있는 걸을 알게 되었다. 해당 문제는 re 모듈을 사용하면 쉽게 해결이 가능한 문제였다. 이후 re모듈에 대해서 익숙해질 필요가 있을듯 하다. [프로그래머스] 괄호 회전하기 (파이썬) 문제 https://school.programmers.co.kr/learn/courses/30/lessons/76502 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 문자열을 이용한 문제를 몇번 풀어보았다면 쉽게 풀리는 문제였다. 나는 다음과 같이 문제를 접근했다. 1. 문자열을 회전 시켜 새로운 문자열을 만든다. 2. 새로운 문자열에 대해서 올바른 괄호 문자열인지 판별한다 2-1. 올바른 괄호 문자열일 경우 answer+1를 해준다. 2-2. 올바른 문자열이 아닐경우 넘어간다. 코드 def solution(s): answer = 0 for i in.. [프로그래머스] 다음 큰 숫자 (파이썬) 설명 파이썬에서 10진수의 값을 2진수로 바꾸는 bin() 함수와 [string].count(str) 함수에 대해서 알고 있으면 쉽게 풀리는 문제였다. 먼저 조건 1을 만족하기 위해 n초과 하는 수부터 시작해서 끝을 정해두지 않고 무한반복을 한다. 그리고 초과하는 수에 대해서 bin()함수를 통해서 이진수로 변경을 하고 입력받은 n에 대해서 n.count('1')을 통해 문자 1의 갯수와 현재 증가 값에 대한 answer.count('1')를 하여 만약 일치한다면 정답이라 판단하여 반환한다. 코드 def solution(n): answer = 0 count_n_one = bin(n)[2:].count('1') while True: n = n + 1 answer = n count_answer_one = b.. [프로그래머스] 크기가 작은 부분문자열 https://school.programmers.co.kr/learn/courses/30/lessons/147355 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 숫자로 이루어진 문자열 t와 p가 주어질 때, t에서 p와 길이가 같은 부분문자열 중에서, 이 부분문자열이 나타내는 수가 p가 나타내는 수보다 작거나 같은 것이 나오는 횟수를 return하는 함수 solution을 완성하세요. 예를 들어, t="3141592"이고 p="271" 인 경우, t의 길이가 3인 부분 문자열은 314, 141, 415, 159, 592입니다. 이 문자열이 나.. 백준 1316 그룹 단어 체커 (JAVA) 문제 https://www.acmicpc.net/problem/1316 1316번: 그룹 단어 체커 그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때 www.acmicpc.net 코드 package com.company; import java.io.*; import java.util.*; public class Main{ public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(.. 백준 1316 그룹 단어 체커(JAVA) 문제 https://www.acmicpc.net/problem/1316 1316번: 그룹 단어 체커 그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때 www.acmicpc.net 코드 package com.company; import java.io.*; import java.util.*; public class Main{ public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(.. 백준 16719 ZOAC(JAVA) 문제 https://www.acmicpc.net/problem/16719 16719번: ZOAC 2018년 12월, 처음 시작하게 된 ZOAC의 오프닝을 맡은 성우는 누구보다 화려하게 ZOAC를 알리려 한다. 앞 글자부터 하나씩 보여주는 방식은 너무 식상하다고 생각한 성우는 문자열을 보여주는 새로 www.acmicpc.net 코드 package com.company; import java.io.*; public class Main { private static BufferedReader br; private static StringBuilder sb = new StringBuilder(); static String input; static boolean[] visited; public static voi.. 백준 17413 단어 뒤집기2(JAVA) 문제 https://www.acmicpc.net/problem/17413 17413번: 단어 뒤집기 2 문자열 S가 주어졌을 때, 이 문자열에서 단어만 뒤집으려고 한다. 먼저, 문자열 S는 아래와과 같은 규칙을 지킨다. 알파벳 소문자('a'-'z'), 숫자('0'-'9'), 공백(' '), 특수 문자('')로만 이루어져 www.acmicpc.net 코드 package com.company; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Scanner; import java.util.Stack; public class Main { public static v.. 백준 20291 파일 정리(JAVA) 문제 https://www.acmicpc.net/problem/20291 20291번: 파일 정리 친구로부터 노트북을 중고로 산 스브러스는 노트북을 켜자마자 경악할 수밖에 없었다. 바탕화면에 온갖 파일들이 정리도 안 된 채 가득했기 때문이다. 그리고 화면의 구석에서 친구의 메시지를 www.acmicpc.net 코드 package com.company; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.*; class Main { public static void main(String[] args) throws IOException { BufferedReader.. 백준 12933 오리 (JAVA) https://www.acmicpc.net/problem/12933 12933번: 오리 첫째 줄에 영선이가 녹음한 소리가 주어진다. 소리의 길이는 5보다 크거나 같고, 2500보다 작거나 같은 자연수이고, 'q','u','a','c','k'로만 이루어져 있다. www.acmicpc.net 코드 package com.company; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; /* 오리는 꽥꽥 quack 문자를 미리 만들어 input 값에서 q를 방문했으면 index를 증가시키고 다음 문자를 비교하도록 한다. */ public class test { static String quack .. 이전 1 2 다음