전체 글 72

[BAEKJOON] 2667번: 단지번호붙이기 - 파이썬(python)

문제 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여기서 연결되었다는 것은 어떤 집이 좌우, 혹은 아래위로 다른 집이 있는 경우를 말한다. 대각선상에 집이 있는 경우는 연결된 것이 아니다. 는 을 단지별로 번호를 붙인 것이다. 지도를 입력하여 단지수를 출력하고, 각 단지에 속하는 집의 수를 오름차순으로 정렬하여 출력하는 프로그램을 작성하시오. 입력 첫 번째 줄에는 지도의 크기 N(정사각형이므로 가로와 세로의 크기는 같으며 5≤N≤25)이 입력되고, 그 다음 N줄에는 각각 N개의 자료(0혹은 1)가 입력된다. 출력 첫 번째 줄에는 총 단지수를 출력하시오. 그리고 각 ..

algorithm 2021.07.28

[프로그래머스 level1] [2021 카카오 채용연계형 인턴십] 숫자 문자열과 영단어

문제 설명 네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다. 다음은 숫자의 일부 자릿수를 영단어로 바꾸는 예시입니다. 1478 → "one4seveneight" 234567 → "23four5six7" 10203 → "1zerotwozero3" 이렇게 숫자의 일부 자릿수가 영단어로 바뀌어졌거나, 혹은 바뀌지 않고 그대로인 문자열 s가 매개변수로 주어집니다. s가 의미하는 원래 숫자를 return 하도록 solution 함수를 완성해주세요. 참고로 각 숫자에 대응되는 영단어는 다음 표와 같습니다. 0 zero 1 one 2 two 3 three 4 four 5 five 6 six 7 seven 8..

algorithm 2021.07.27

[BAEKJOON] 2606번: 바이러스 - 파이썬(python)

문제 신종 바이러스인 웜 바이러스는 네트워크를 통해 전파된다. 한 컴퓨터가 웜 바이러스에 걸리면 그 컴퓨터와 네트워크 상에서 연결되어 있는 모든 컴퓨터는 웜 바이러스에 걸리게 된다. 예를 들어 7대의 컴퓨터가 과 같이 네트워크 상에서 연결되어 있다고 하자. 1번 컴퓨터가 웜 바이러스에 걸리면 웜 바이러스는 2번과 5번 컴퓨터를 거쳐 3번과 6번 컴퓨터까지 전파되어 2, 3, 5, 6 네 대의 컴퓨터는 웜 바이러스에 걸리게 된다. 하지만 4번과 7번 컴퓨터는 1번 컴퓨터와 네트워크상에서 연결되어 있지 않기 때문에 영향을 받지 않는다. 어느 날 1번 컴퓨터가 웜 바이러스에 걸렸다. 컴퓨터의 수와 네트워크 상에서 서로 연결되어 있는 정보가 주어질 때, 1번 컴퓨터를 통해 웜 바이러스에 걸리게 되는 컴퓨터의 수..

algorithm 2021.07.27

[BAEKJOON] 1260번: DFS와 BFS - 파이썬(python)

문제 그래프를 DFS로 탐색한 결과와 BFS로 탐색한 결과를 출력하는 프로그램을 작성하시오. 단, 방문할 수 있는 정점이 여러 개인 경우에는 정점 번호가 작은 것을 먼저 방문하고, 더 이상 방문할 수 있는 점이 없는 경우 종료한다. 정점 번호는 1번부터 N번까지이다. 입력 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사이에 여러 개의 간선이 있을 수 있다. 입력으로 주어지는 간선은 양방향이다. 출력 첫째 줄에 DFS를 수행한 결과를, 그 다음 줄에는 BFS를 수행한 결과를 출력한다. V부터 방문된 점을 순서대로 출력하면 된다. ..

algorithm 2021.07.26

07.20 안드로이드 스튜디오 (Library 사용 - Glide, addview,onBackPressed)

1. 안드로이드 스튜디오에서 네트워크에 접근할 수 있게 permission 허용해주기 * AndroidManifest.xml에 추가해준다. 2. Glide 라이브러리란? 안드로이드 이미지 로딩 라이브러리로써 사진 로딩, 비디오 로딩 등을 가능하게 해주는 라이브러리이다. 설치하는 방법은 다운로드를 하거나, Gradle 들에 작성하여 설치하는 법 등 다양하다. 보통 Gradle에 작성하고, Sync 하여 다운로드를 한다. 2-1. Gradle 중 app 에서 dependencies 안에 추가해준다. dependencies { compile 'com.github.bumptech.glide:glide:4.11.0' // Skip this if you don't want to use integration libr..

개발 일지 2021.07.20

07.19 안드로이드 스튜디오 (Resource, Context, Thread, .. )

1. resource resource 파일내 Colors.xml과 String.xml 에서 데이터를 가져오는 실습 중 getColor() 를 바로 사용하게 되면 에러가 발생한다. 이유는 resource 없이 하는 것은 API level 23 이상이여야 하기 때문이다. Call requires API level 23 (current min is 16): android.content.Context#getColor 때문에 아래와 같이 if문을 이용하여 버전에 따라 다른 명령어가 수행되도록 한다. val color =if(Build.VERSION.SDK_INT>= Build.VERSION_CODES.M) { button.setBackgroundColor(getColor(R.color.textview_color)..

개발 일지 2021.07.19

[플러터(Flutter)] - "=>" 는 무슨 뜻일까? (Dart)

"=>" 플러터를 요새 공부하다 보니 "=>" 이 화살표 같은 기호가 많이 보인다. 이것은 무슨 기호일까? 🤔 처음 프로젝트를 만들면 아래와 같이 메인 함수가 나타난다. void main() { runApp(MyApp()); } 하지만 플러터 공식 문서를 보면 위 코드를 아래와 같이 한 줄로 작성을 하고 있다. void main() => runApp(MyApp()); 문서에는 아래의 문장만 적혀있기 때문에, 그냥 main 함수는 위와 같이 한 줄 함수로 쓰는 거구나 하고 별다른 생각 없이 넘겼었다 🙁 main() 메서드는 화살표(=>) 표기법을 사용합니다. 한 줄 함수 또는 메서드에 화살표 표기법을 사용하세요. 그러다 오늘 유튜브를 보며 플러터를 공부 중 => 를 통해 기능을 넘기는 것을 보고, 이 기호..

플러터(Flutter) 2021.07.15

[플러터(Flutter)] - ios 애뮬레이터 키보드 안 보일 때

위와 같이 애뮬레이터의 키보드가 안 보일 때는 command + shift + K 를 눌러주면 보이게 된다. * 하지만 이렇게 하면 컴퓨터 키보드로 입력할 경우 입력이 되지 않는다.. https://github.com/flutter/flutter/issues/74044 [webview_flutter] Simulator keyboard isn't showing and hardware keyboard isn't working · Issue #74044 · flutter/flutter Steps to Reproduce Make sure you use one of the recent flutter beta versions (24 or 25). I used 1.25.0-8.2.pre. Create a defaul..

플러터(Flutter) 2021.07.07

[프로그래머스 level1] [1차] 비밀지도

비밀지도 네오는 평소 프로도가 비상금을 숨겨놓는 장소를 알려줄 비밀지도를 손에 넣었다. 그런데 이 비밀지도는 숫자로 암호화되어 있어 위치를 확인하기 위해서는 암호를 해독해야 한다. 다행히 지도 암호를 해독할 방법을 적어놓은 메모도 함께 발견했다. 지도는 한 변의 길이가 n인 정사각형 배열 형태로, 각 칸은 "공백"(" ") 또는 "벽"("#") 두 종류로 이루어져 있다. 전체 지도는 두 장의 지도를 겹쳐서 얻을 수 있다. 각각 "지도 1"과 "지도 2"라고 하자. 지도 1 또는 지도 2 중 어느 하나라도 벽인 부분은 전체 지도에서도 벽이다. 지도 1과 지도 2에서 모두 공백인 부분은 전체 지도에서도 공백이다. "지도 1"과 "지도 2"는 각각 정수 배열로 암호화되어 있다. 암호화된 배열은 지도의 각 가로..

algorithm 2021.07.05

[프로그래머스 level1] [1차] 다트 게임

다트 게임 카카오톡 게임별의 하반기 신규 서비스로 다트 게임을 출시하기로 했다. 다트 게임은 다트판에 다트를 세 차례 던져 그 점수의 합계로 실력을 겨루는 게임으로, 모두가 간단히 즐길 수 있다. 갓 입사한 무지는 코딩 실력을 인정받아 게임의 핵심 부분인 점수 계산 로직을 맡게 되었다. 다트 게임의 점수 계산 로직은 아래와 같다. 다트 게임은 총 3번의 기회로 구성된다. 각 기회마다 얻을 수 있는 점수는 0점에서 10점까지이다. 점수와 함께 Single(S), Double(D), Triple(T) 영역이 존재하고 각 영역 당첨 시 점수에서 1제곱, 2제곱, 3제곱 (점수1 , 점수2 , 점수3 )으로 계산된다. 옵션으로 스타상(*) , 아차상(#)이 존재하며 스타상(*) 당첨 시 해당 점수와 바로 전에 ..

algorithm 2021.07.05