(백준, 파이썬) 그룹 단어 체커
2022. 6. 3. 18:31
PS/BOJ
갑자기 예전에 듣던 pH-1의 Groupie가 떠올랐다. 주구장창 들었던 것 같은데.. 지금은 또 느낌이 좀 다르네 음질구지 1316 - 그룹 단어 체커 문제 그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때문에 그룹 단어이지만, aabbbccb는 b가 떨어져서 나타나기 때문에 그룹 단어가 아니다. 단어 N개를 입력으로 받아 그룹 단어의 개수를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 단어의 개수 N이 들어온다. N은 100보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에 단어가 들어온다. 단어는 알파벳 소문자로만 되어있고..
누가 팻말 좀 세워줬으면
2022. 6. 2. 17:45
Daily
많은 시간을 노는 데에 보냈다. 응당 내가 스스로 생각하기에 사람이라면 생겨야 할 생각들, 부담들이 많아졌다. '나는 왜 실패했는가?' 에 대해서 고민한 적이 있었다. 내 기준에서는 실패가 맞았다. 하지만 남들의 기준에서는 어쩌면 실패라고는 불리지 않을 만한 것이었다. 사실 남들이 어떻다고 딱 잘라 말할 수 있는 건 없지만. 실패는 확실히 맞았다. 개인의 주관에 따라 다른 것이라고, 내 기준이 중요한 것이라고, 말랑말랑하게 합리화 할 수 있었다. 그렇게 해오기도 했고. 너무 속좁고, 불편하고, 까칠한 내가 좀 별로였다. 어떻게든 해봐야지.. 하는데, 어떻게 해야할 지를 모르겠다. 차츰 더 고민해보고, 알아봐야 하는 상태인 것 같다.
(백준, 파이썬) 확실하냐고
2022. 6. 1. 21:52
PS/BOJ
가뭄에 단비 같은 휴일.. 바로 탱자탱자 놀아버리기 2941 - 크로아티아 알파벳 (https://www.acmicpc.net/problem/2941) 문제 예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다. 예를 들어, ljes=njak은 크로아티아 알파벳 6개(lj, e, š, nj, a, k)로 이루어져 있다. 단어가 주어졌을 때, 몇 개의 크로아티아 알파벳으로 이루어져 있는지 출력한다. dž는 무조건 하나의 알파벳으로 쓰이고, d와 ž가 분리된 것으로 보지 않는다. lj와 nj도 마찬가지이다. 위 목록에 없는 알파벳은 한 글자씩 센다. 입력 첫째 줄에 최대 100글자의 단어가 주어진다. 알파벳 소문자와 '-', '='로만 이루..
(백준, 파이썬) 드르렁, 승급
2022. 6. 1. 10:24
PS/BOJ
업로드를 했어야 했는데.. 현강 끝나고 집에 와서 눕고나서 차마 일어날 수가 없었다.. 바로 숙면 10809 - 알파벳 찾기 (https://www.acmicpc.net/problem/10809) 문제 알파벳 소문자로만 이루어진 단어 S가 주어진다. 각각의 알파벳에 대해서, 단어에 포함되어 있는 경우에는 처음 등장하는 위치를, 포함되어 있지 않은 경우에는 -1을 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 단어 S가 주어진다. 단어의 길이는 100을 넘지 않으며, 알파벳 소문자로만 이루어져 있다. 출력 각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출..
(백준, 파이썬, 나중에) 한 수 배웠다
2022. 5. 30. 21:49
PS/BOJ
(바지)스터디장이 되었다. 인원도 많이 늘었고.. 더 열심히 할 명분이 생겼다. 15596 - 정수 N개의 합 문제 정수 n개가 주어졌을 때, n개의 합을 구하는 함수를 작성하시오. 작성해야 하는 함수는 다음과 같다. C, C11, C (Clang), C11 (Clang): long long sum(int *a, int n); a: 합을 구해야 하는 정수 n개가 저장되어 있는 배열 (0 ≤ a[i] ≤ 1,000,000, 1 ≤ n ≤ 3,000,000) n: 합을 구해야 하는 정수의 개수 리턴값: a에 포함되어 있는 정수 n개의 합 C++, C++11, C++14, C++17, C++ (Clang), C++11 (Clang), C++14 (Clang), C++17 (Clang): long long su..
(백준, 파이썬) 다이나믹 뙤약볕
2022. 5. 29. 22:47
PS/BOJ
한강에서 호기롭게 2인 코딩을 시도했으나 둘이서 팔다리를 웰던으로 익히고 카페로 도망쳤다. 1546 - 평균 (https://www.acmicpc.net/problem/1546) 문제 세준이는 기말고사를 망쳤다. 세준이는 점수를 조작해서 집에 가져가기로 했다. 일단 세준이는 자기 점수 중에 최댓값을 골랐다. 이 값을 M이라고 한다. 그리고 나서 모든 점수를 점수/M*100으로 고쳤다. 예를 들어, 세준이의 최고점이 70이고, 수학점수가 50이었으면 수학점수는 50/70*100이 되어 71.43점이 된다. 세준이의 성적을 위의 방법대로 새로 계산했을 때, 새로운 평균을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의..
(백준, 파이썬) 내가 이겼다 + 단계 별 10% 달성
2022. 5. 28. 18:25
PS/BOJ
클래스에서 상속, __init__, super(), 그리고 self 관련해서 복습했다. (https://www.youtube.com/watch?v=uIcK7-YU8uA) 좋은 자료나 강의들이 짤막하게 파트별로 있어서 찾아서 공부하기 좋은 듯. 10952 - A + B - 5 (https://www.acmicpc.net/problem/10952) 문제 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. 입력 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10) 입력의 마지막에는 0 두 개가 들어온다. 출력 각 테스트 케이스마다 A+B를 출력한다. 틀렸던 코드 1 2 3 4 5 6 ..
(백준, 파이썬) 폼은 일시적이지만 클래스는 어렵다
2022. 5. 27. 18:27
PS/BOJ
아.. 어렵다..수업이 9 to 6 인데, 쉬는시간 10분, 점심시간 1시간 해서 강사님도 나도 지치는 것 같다. 오늘 처음으로 졸았다.. ㅋㅋ 내용도 슬슬 처음 들었던 기본강의에서 제대로 다루지 않았거나 디테일한 부분들도 나오고, 특히 중요한데 어려운 개념들이라, 집중해서 듣는데 힘들다. 어쨌든 이해는 얼추한 듯 하기도 하고.. 2741 - N 찍기 (https://www.acmicpc.net/problem/2741) 문제 자연수 N이 주어졌을 때, 1부터 N까지 한 줄에 하나씩 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 100,000보다 작거나 같은 자연수 N이 주어진다. 출력 첫째 줄부터 N번째 줄 까지 차례대로 출력한다. for문! 1 2 3 4 N = int(input()) for i in..
(백준, 파이썬) 새롭지만 어려운 것
2022. 5. 26. 19:28
PS/BOJ
2739 - 구구단 (https://www.acmicpc.net/problem/2739) 문제 N을 입력받은 뒤, 구구단 N단을 출력하는 프로그램을 작성하시오. 출력 형식에 맞춰서 출력하면 된다. 입력 첫째 줄에 N이 주어진다. N은 1보다 크거나 같고, 9보다 작거나 같다. 출력 출력형식과 같게 N*1부터 N*9까지 출력한다. 아.. 하루 방구냄새.. 1 2 3 4 n = int(input()) for i in range(1,10): print(f'{n} * {i} = %d'%(n*i)) cs 1트 성공! + 예전에 f 스트링 쓸 때 {n*i}이런거 안 됐었던 기억 때문에 % 포매팅으로 쓰고 있었는데, 오늘 스터디하면서 사실 되는 거였다는 걸 알게 됐다. 10950 - A+B - 3 (https://..
(백준, 파이썬) 45분 이전에 구워진 오븐 치킨 세개
2022. 5. 25. 21:41
PS/BOJ
-틀렸던 코드- 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 H, M = map(int, input().split()) if M elif len(s1) == 2 4. [0, 1, 2]로 돌아가면서 -> for i in range(2) 5.정렬 되어있는 lst_s1의 i순번의 데이터가 s1의 원소와 겹친다면 ㄴ> (if lst_s1[i] in s1) == True 6. 그 i일 때의 데이터는... 까지 생각했는데. 그러면 3 3 6 일때 3, 6 둘 다 되잖아? 심지어 5에서 False면 해당하는 값이 없다. 집합에 기존의 자료형을 넣어줄 때 겹쳐서 사라지는 원소를 찾는 방법은 없는 건가..? ------ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ..