Rosalind/BA1A/Go: Difference between revisions
From charlesreid1
(Created page with " <pre> package main import "fmt" // Rosalind: Problem BA1A // // To run: // // $ go run ba1a.go func pattern_count(input string, pattern string) int { // Number of sub...") |
No edit summary |
||
| Line 14: | Line 14: | ||
// Number of substring overlaps | // Number of substring overlaps | ||
var overlap = len(input) - len(pattern) | var overlap = len(input) - len(pattern) | ||
// Count of occurrences | // Count of occurrences | ||
| Line 20: | Line 20: | ||
// Loop over each substring overlap | // Loop over each substring overlap | ||
for i:=0; i<overlap; i++ { | for i:=0; i<=overlap; i++ { | ||
// Grab a slice of the full input | // Grab a slice of the full input | ||
start:=i | start:=i | ||
Revision as of 05:41, 11 December 2018
package main
import "fmt"
// Rosalind: Problem BA1A
//
// To run:
//
// $ go run ba1a.go
func pattern_count(input string, pattern string) int {
// Number of substring overlaps
var overlap = len(input) - len(pattern)
// Count of occurrences
count:=0
// Loop over each substring overlap
for i:=0; i<=overlap; i++ {
// Grab a slice of the full input
start:=i
end:=i+len(pattern)
var slice = input[start:end]
if slice==pattern {
count += 1
}
}
return count
}
func main() {
// Call the pattern_count function
fmt.Println("Number of occurrences of GCG in GCGCG:")
res := pattern_count("GCGCG","GCG")
fmt.Println(res)
}